SSL und TLS 1.2

Alle Fragen zur Netzwerkkommunikation
Antworten
Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1423
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

SSL und TLS 1.2

Beitrag von fliegermichl »

Hallo zusammen,

Ich habe eine Lazarusanwendung, welche per TFpHTTPClient eine Verbindung per https zu einem Webserver herstellt.
Das hat bislang einwandfrei funktioniert.

Nun ist ein neuer Server im Einsatz, welcher nur noch Verbindungen mit TLS 1.2 akzeptiert. Ich bekomme dann einfach eine Fehlermeldung "connect to servername:443 failed"
Lasse ich Verbindungen mit TLS 1.0 zu, dann klappt alles.

Kann mir jemand sagen, wo ich drehen muß, damit es auch mit TLS 1.2 funktioniert?

Benutzeravatar
theo
Beiträge: 10461
Registriert: Mo 11. Sep 2006, 19:01

Re: SSL und TLS 1.2

Beitrag von theo »

Ich weiss es nicht wirklich, aber in unit sslbase gibt es

Code: Alles auswählen

  TSSLType = (stAny,stSSLv2,stSSLv3,stTLSv1,stTLSv1_1,stTLSv1_2);   
Vllt. kannst du das wie hier einhängen:
https://forum.lazarus.freepascal.org/in ... #msg251142

Aber wie gesagt, das ist nur ein Spur, ich habe keine Ahnung.

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1423
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: SSL und TLS 1.2

Beitrag von fliegermichl »

Danke für die Info. Das hatte ich auch schon gefunden.
Wenn ich das Event OnGetSocketHandler verwende, um darin einen TOpenSSLSocketHandler zu erzeugen und da SSLType explizit auf stTLSv1_2 setze, erhalte ich die Fehlermeldung: SSL Error Code: 336236740: error: 140A90C4: SSL routines: SSL_CTX_new: null ssl method passed.

Lasse ich das zuweisen von SSLType weg, erhalte ich die Fehlermeldung: SSL Error Code: 336032814: error 1407742E: SSL routines: SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version.

So wirklich schlau werde ich daraus nicht.

Ist übrigens Windows 10 64 Bit Lazarus Trunk /FPC Trunk

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: SSL und TLS 1.2

Beitrag von Winni »

Hi!

Du bist nicht allein ....

Diskussion und Lösungen unter

https://github.com/glennhickey/progress ... /issues/93

Winni

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: SSL und TLS 1.2

Beitrag von sstvmaster »

Kannst du mal das angehängt Demo Projekt probieren? SSL Libs von hier: https://github.com/IndySockets/OpenSSL-Binaries

Getestet bei mir mit Windows 10 / Lazarus 2.0.12, 32bit.

[Edit] Memory bug beseitigt.
[Edit 2] Jetzt mit SSL dll/so Versionsanzeige in der Statusbar (Windows only), Linux habe ich nicht und kann daher nicht testen.
Dateianhänge
tls12_test.zip
(127.08 KiB) 170-mal heruntergeladen
Zuletzt geändert von sstvmaster am Mo 28. Jun 2021, 07:55, insgesamt 1-mal geändert.
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: SSL und TLS 1.2

Beitrag von sstvmaster »

Nachtrag:

Für TLS 1.2 hat SSL Version mindestens 1.0.1 zu sein.
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Benutzeravatar
fliegermichl
Lazarusforum e. V.
Beiträge: 1423
Registriert: Do 9. Jun 2011, 09:42
OS, Lazarus, FPC: Lazarus Fixes FPC Stable
CPU-Target: 32/64Bit
Wohnort: Echzell

Re: SSL und TLS 1.2

Beitrag von fliegermichl »

Vielen Dank!

Mit den SSL Libs von o.g. Link klappt es einwandfrei. Sowohl mit deinem Testprogramm als auch mit meiner Anwendung.

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: SSL und TLS 1.2

Beitrag von sstvmaster »

@fliegermichl, Danke auch dir.

Anbei mal ein Test für SSL Versionserkennung für Linux. Für Windows muss ja nur die ssleay32.dll im Programmverzeichnis liegen.
Kann das mal bitte jemand Testen? Für MAC wäre auch mal interessant, da müssen aber sicherlich noch die IFDEF's angepasst werden.
Dateianhänge
tls12_test.zip
(127.25 KiB) 159-mal heruntergeladen
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Benutzeravatar
theo
Beiträge: 10461
Registriert: Mo 11. Sep 2006, 19:01

Re: SSL und TLS 1.2

Beitrag von theo »

Auf Leap 15.2
OK 200 1.1.1d

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: SSL und TLS 1.2

Beitrag von sstvmaster »

Danke theo.

Gerade eben mal Ubuntu 20.04.2. LTS (focal) in der Virtualbox installiert.
OK 200 1.1.1f
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Antworten