Sécurisation des connexions réseau Indy

De RAD Studio
Aller à : navigation, rechercher

Remonter à Sécurisation des connexions réseau de vos apps multi-périphériques


Cette rubrique explique comment ajouter la prise en charge de la sécurité TLS/SSL à vos connexions réseau Indy.

Prérequis

Pour utiliser TLS/SSL avec Indy sur votre machine de développement, téléchargez l'archive OpenSSL la plus récente pour votre plate-forme de développement depuis http://indy.fulgan.com/SSL/:

  • Windows 32 bits : openssl-<version>-i386-win32.zip.
  • Windows 64 bits : openssl-<version>-x64_86-win64.zip.

Effectuez l'extraction du contenu de l'archive téléchargée et localisez les fichiers bibliothèque suivants :

  • libeay32.dll
  • ssleay32.dll

Copiez ces fichiers dans le dossier où RAD Studio génère l'exécutable de votre application. Par exemple, dans <Dossier projet>/Win32/Debug pour Windows 32 bits.

Sur Windows, pour pouvoir exécuter votre application sur une machine distante ou la distribuer à d'autres utilisateurs, vous devez préalablement modifier la configuration de déploiement de votre application de façon à inclure ces fichiers bibliothèque dans le chemin de l'exécutable de votre application :

  1. Sélectionnez Projet > Déploiement.
  2. Ouvrez la zone de liste déroulante en haut du Gestionnaire de déploiement et sélectionnez la plate-forme cible (Windows 32 bits ou Windows 64 bits) sous Toutes les configurations.
  3. Cliquez sur Ajouter des fichiers.
  4. Sélectionnez les fichiers bibliothèques requis que vous avez précédemment téléchargés et cliquez sur OK.

Sur macOS, votre application n'est soumise à aucun prérequis pour la prise en charge TLS/SSL. La bibliothèque OpenSSL est disponible par défaut sur ces systèmes d'exploitation.

Concernant iOS, voir Création d'une app iOS, Support OpenSSL afin de configurer votre application pour la prise en charge de l'encryptage TLS/SSL.

Sur Android version 6 et ultérieure, vous devez inclure les bibliothèques OpenSSL car Android est passé de OpenSSL à BoringSSL.

Remarque: RAD Studio Sydney prend uniquement en charge les versions Android 6 et ultérieures.

Pour d'autres plates-formes, voir Bibliothèques OpenSSL.

Implémentation de la prise en charge TLS/SSL sur votre client Indy

Les descendants de TIdTCPConnection (EN), tels que TIdHTTP (EN), disposent d'une propriété nommée IOHandler (EN).

Pour sécuriser une connexion réseau Indy, faites glisser un composant TIdSSLIOHandlerSocketOpenSSL (EN) sur le Concepteur de fiches et double-cliquez sur la propriété IOHandler de votre composant client Indy dans l'inspecteur d'objets afin que votre nouveau composant TIdSSLIOHandlerSocketOpenSSL soit sélectionné comme gestionnaire d'entrées/sorties.

Alternativement, vous pouvez sécuriser les connexions réseau de votre client Indy par programmation :

Delphi :
Client.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create;
C++ :
Client->IOHandler = new TIdSSLIOHandlerSocketOpenSSL();

Vous pouvez maintenant utiliser votre client pour envoyer des requêtes sécurisées à un serveur prenant en charge l'encryptage TLS/SSL par l'intermédiaire du protocole HTTPS. Par exemple, pour récupérer "http://www.example.com" en utilisant l'encryptage TLS/SSL, obtenez plutôt "https://www.example.com" avec votre client.

Voir aussi