![]() |
IdHTTP mit SSL
Ich versuche gerade die eigentlich trivial klingende Aufgabe, eine https-Seite mit den Indy-Komponenten zu lesen. Aber ich erhalte immer die folgende Exception EIdOSSLUnderlyingCryptoError mit der Message "Error connecting with SSL. error 1409442E:SSL routine:ssl3_read_bytes:tlsv 1 alert protocol version".
Ich nutze Delphi 10.2 Tokyo und dessen mitgelieferte Indy-Komponenten 10.6.2. libeay32.dll und ssleay32.dll sind vom 21.12.2019 1.0.2.21 (1.02u).
Code:
Was mache ich falsch?
function TMyRestService.GetSSL(AURL: String): String;
var AHTTP : TIdHTTP; begin AHTTP := TIdHTTP.Create(nil); AHTTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(AHTTP); AHTTP.HandleRedirects := True; Result := AHTTP.Get('https://de.wikipedia.org/wiki/Wikipedia:Hauptseite'); AHTTP.Free; end; |
AW: IdHTTP mit SSL
Delphi-Quellcode:
versuche es mal mit den obigen Änderungen.
function TMyRestService.GetSSL(AURL: String): String;
var AHTTP : TIdHTTP; begin AHTTP := TIdHTTP.Create(nil); AHTTP.IOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(AHTTP); aHttp.IoHandler.SSLOptions.Method := sslvSSLv23; aHttp.IoHandler.SSLOptions.Mode := sslmUnassigned; AHTTP.HandleRedirects := True; Result := AHTTP.Get('https://de.wikipedia.org/wiki/Wikipedia:Hauptseite'); AHTTP.Free; end; Grüße Klaus |
AW: IdHTTP mit SSL
Zitat:
Delphi-Quellcode:
IdSSL.SSLOptions.SSLVersions := [sslvTLSv1_1, sslvTLSv1_2];
Standardmäßig aktiviert Indy nur TLS v1.0 Quelle: ![]() |
AW: IdHTTP mit SSL
Zitat:
(Man muss aber "Socket: TIdSSLIOHandlerSocketOpenSSL" deklarieren und die Optionen dort setzen. AHTTP.IOHandler kennt das Feld SSLOptions nicht.) |
AW: IdHTTP mit SSL
Zitat:
Auch die Lösung alleine hätte es getan und man darf eure beide Lösungen auch kombinieren und es geht immer noch... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz