Nein, das war erst mit einem der Windows 10 Updates.Nimral hat geschrieben: Fr 24. Sep 2021, 12:00 Bede Dateien (ssleay32.dll und libeay32.dll) gehören seit gefühlt einem halben Jahrhundert zum Standardlieferumfang von Windows.
FPC TCP Socket Library (fcl-net)
-
- Beiträge: 955
- Registriert: Mi 3. Jun 2020, 07:18
- OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
- CPU-Target: Aarch64 bis Z80 ;)
- Wohnort: München
Re: FPC TCP Socket Library (fcl-net)
FPC Compiler Entwickler
Re: FPC TCP Socket Library (fcl-net)
Selbst wenn es so wäre ... ich habe die m.E. neueste Windows 10 Version (Version 10.0.19043.1237), und beide Dateien liegen bereit unter c:\WIndows\SysWOW64, was m.E. OK ist, weil ich 32 Bit WIndows Programme erzeuge mit einem 32 Bit Lazarus. Ich bin allerdings etwas unsicher, weil ich eigentlich (außer Konkurrenz) auch die 64-Bit Versionen (die sinniger Weise übrigens auch libeay32.dll und ssleay32.dll heißen ...) in Windows\System32 erwartet hätte, die sind aber nicht vorhanden.
Die Fehlermeldung scheint aber, soweit ich mich inzwischen in die OpenSSL Dokus gekämpft habe, eher darauf hinzuweisen, dass meiner Maschine nicht die SSL Libraries fehlen, sondern dass ein SSL Zertifikat fehlt. Das würde dann durchaus Sinn machen, ich war bisher ja stets nur SSL Client, aber noch nie SSL Server.
Im Moment grabe ich mal in die Richtung, ein SSL Zertifikat (self-signed) zu erzeugen. Erste Frage: wie schaut das aus, wie baut man sich eins (gab es da nicht mal ein Tool names certutil im Microsoft SDK?), was muss drinnen stehen, gibt es Verschiedene je nachdem ob man SSL Server oder Client spielen will ... Fragen über Fragen, die ich eigentlich gar nicht stellen wollte, und die Zeit vertickt mal wieder unerbittlich ...
Armin.
Die Fehlermeldung scheint aber, soweit ich mich inzwischen in die OpenSSL Dokus gekämpft habe, eher darauf hinzuweisen, dass meiner Maschine nicht die SSL Libraries fehlen, sondern dass ein SSL Zertifikat fehlt. Das würde dann durchaus Sinn machen, ich war bisher ja stets nur SSL Client, aber noch nie SSL Server.
Im Moment grabe ich mal in die Richtung, ein SSL Zertifikat (self-signed) zu erzeugen. Erste Frage: wie schaut das aus, wie baut man sich eins (gab es da nicht mal ein Tool names certutil im Microsoft SDK?), was muss drinnen stehen, gibt es Verschiedene je nachdem ob man SSL Server oder Client spielen will ... Fragen über Fragen, die ich eigentlich gar nicht stellen wollte, und die Zeit vertickt mal wieder unerbittlich ...
Armin.
Re: FPC TCP Socket Library (fcl-net)
Ok, ich lag richtig. Mit den beiden dlls, die sonst oft für Zicken gut sind, hat das Problem diesmal nichts zu tun.
Der Autor von lNet hat in der Demo eine TLSSLSessionComponent ins Mainform gesetzt, und dort die Felder "CAFile" und "Keyfile" für das SSL Zertifikat und das Private Key File ausgefüllt. Sie heißen bei ihm "cert" und "pkey", und er hat die Files nicht mitgegeben. Die SSL Komponente lädt die Files aber bei der Initialisierung, auch wenn SSL an sich nicht eingeschaltet ist --> Exception. Die dabei ausgelöste Exception tritt dann leider auch noch dem Debugger auf die Füße, der dann seinerseits fatal crasht.
Den Debugger bekam ich erst Mal ans Laufen, als ich in den Projekt-Optionen unter "Debug" den Debug-Info-Typ von -gw3 auf -gw2 geändert habe. Danach konnte ich immerhin den Text der Exception lesen, und das legte dann die heiße Spur.
Um das eigentliche Problem mit den fehlenden Files zu lösen kann man entweder
- die beiden Felder CAFile und KeyFile in der Komponente TLSSLSessionComponent leer machen (und SSL nicht verwenden), oder in Gottes Namen die beiden Dateien mit OpenSSL erzeugen lassen und im Programmverzeichnis speichern.
Möge das mal jemandem helfen ...
Armin.
Der Autor von lNet hat in der Demo eine TLSSLSessionComponent ins Mainform gesetzt, und dort die Felder "CAFile" und "Keyfile" für das SSL Zertifikat und das Private Key File ausgefüllt. Sie heißen bei ihm "cert" und "pkey", und er hat die Files nicht mitgegeben. Die SSL Komponente lädt die Files aber bei der Initialisierung, auch wenn SSL an sich nicht eingeschaltet ist --> Exception. Die dabei ausgelöste Exception tritt dann leider auch noch dem Debugger auf die Füße, der dann seinerseits fatal crasht.
Den Debugger bekam ich erst Mal ans Laufen, als ich in den Projekt-Optionen unter "Debug" den Debug-Info-Typ von -gw3 auf -gw2 geändert habe. Danach konnte ich immerhin den Text der Exception lesen, und das legte dann die heiße Spur.
Um das eigentliche Problem mit den fehlenden Files zu lösen kann man entweder
- die beiden Felder CAFile und KeyFile in der Komponente TLSSLSessionComponent leer machen (und SSL nicht verwenden), oder in Gottes Namen die beiden Dateien mit OpenSSL erzeugen lassen und im Programmverzeichnis speichern.
openssl genrsa -out pkey 1024
openssl req -new -x509 -key pkey -out cert -days 1095
Möge das mal jemandem helfen ...
Armin.