Sichern von Indy-Netzwerkverbindungen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Sichern der Netzwerkverbindungen von geräteübergreifenden Apps


In diesem Thema wird gezeigt, wie Sie Ihren Indy-Netzwerkverbindungen die Unterstützung für TLS/SSL-Sicherheit hinzufügen.

Voraussetzungen

Laden Sie das neueste OpenSSL-Archiv für Ihre Entwicklungsplattform von http://indy.fulgan.com/SSL/ herunter, um TLS/SSL mit Indy auf Ihrem Entwicklungscomputer zu verwenden:

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

Extrahieren Sie den Inhalt des heruntergeladenen Archivs, und suchen Sie die folgenden Bibliotheksdateien:

  • libeay32.dll
  • ssleay32.dll

Kopieren Sie diese Dateien in den Ordner, in dem RAD Studio die ausführbare Datei Ihrer Anwendung erstellt. Zum Beispiel in <Projektordner>/Win32/Debug für 32-Bit-Windows.

Bevor Sie Ihre Anwendung auf einem Remote-Computer ausführen oder Ihre Anwendung an andere Benutzer verteilen können, müssen Sie für Windows die Bereitstellungskonfiguration Ihrer Anwendung ändern, um diese Bibliotheksdateien in den Pfad der ausführbaren Datei Ihrer Anwendung aufzunehmen:

  1. Wählen Sie Projekt > Bereitstellung.
  2. Öffnen Sie das Kombinationsfeld oben im Bereitstellungs-Manager, und wählen Sie unter Alle Konfigurationen die Zielplattform (32-Bit-Windows oder 64-Bit-Windows) aus.
  3. Klicken Sie auf Dateien hinzufügen.
  4. Wählen Sie die erforderlichen, zuvor heruntergeladenen Bibliotheksdateien aus, und klicken Sie auf OK.

Bei macOS und Android muss Ihre Anwendung keine Voraussetzungen für die TLS/SSL-Unterstützung erfüllen. Die erforderliche OpenSSL-Bibliothek ist standardmäßig in diesen Betriebssystemen verfügbar.

Für iOS finden Sie unter Erstellen von iOS-Apps, OpenSSL-Unterstützung Informationen zum Konfigurieren Ihrer Anwendung für die Unterstützung der TLS/SSL-Verschlüsselung.

Für weitere Plattformen siehe OpenSSL-Bibliotheken.

Implementieren der TLS/SSL-Unterstützung in Ihrem Indy-Client

Von TIdTCPConnection abgeleitete Klassen, wie TIdHTTP, stellen die Eigenschaft IOHandler bereit.

Zur Sicherung einer Indy-Netzwerkverbindung ziehen Sie eine TIdSSLIOHandlerSocketOpenSSL-Komponente in den Formular-Designer und doppelklicken im Objektinspektor auf die Eigenschaft IOHandler der Indy-Client-Komponente, damit Ihre neue TIdSSLIOHandlerSocketOpenSSL-Komponente als Eingabe-/Ausgabe-Behandlungsroutine ausgewählt wird.

Alternativ können Sie die Netzwerkverbindungen des Indy-Clients auch über den Code sichern:

Delphi:

Client.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create;

C++:

Client->IOHandler = new TIdSSLIOHandlerSocketOpenSSL();

Sie können jetzt mit Ihrem Client sichere Anforderungen an einen Server, der die TLS/SSL-Verschlüsselung unterstützt, über das HTTPS-Protokoll senden. Um beispielsweise "http://www.example.com" mit der TLS/SSL-Verschlüsselung abzurufen, erhalten Sie mit Ihrem Client "https://www.example.com".

Siehe auch