OpenSSL 3.0 hat mehrere veraltete oder unsichere Algorithmen in ein internes Bibliotheksmodul namens Legacy Provider verschoben. Dieses wird nicht standardmäßig geladen, sodass Anwendungen (oder ihre Sprach-Laufzeiten), die OpenSSL für kryptografische Operationen verwenden, solche Algorithmen nicht nutzen können, wenn sie Zertifikate laden, Message Digests erzeugen ...
Wenn du z. B. ein P12-Zertifikat laden möchtest, bekommst du einen Fehler. Um ein P12-Zertifikat mit sgcIndy oder sgcWebSockets zu laden, musst du die Bibliothek legacy.dll mitliefern und einige Eigenschaften in den Komponenten aktivieren.
Aktuell kannst du legacy.dll mit der neuesten openSSL-3.3-Version herunterladen.
sgcWebSockets
- Setze die Eigenschaft OpenSSL_Options.Legacy.Enabled auf True.
- Lege den Speicherort der Legacy-Bibliothek fest.
- OpenSSL_Options.Legacy.LibPath: hier konfigurierst du, wo die Legacy-Bibliothek liegt
- oslpNone: Standardwert; die Legacy-Bibliothek sollte im selben Ordner wie die Binärdatei oder in einem bekannten Pfad liegen.
- oslpDefaultFolder: setzt den Pfad zur Legacy-Bibliothek automatisch dorthin, wo die Bibliotheken für alle IDE-Personalities liegen sollten.
- oslpCustomFolder: wenn diese Option gewählt ist, gibst du den vollständigen Pfad in der Eigenschaft LibPathCustom an.
- OpenSSL_Options.Legacy.LibPathCustom: wenn LibPath = oslpCustomFolder, gib hier den vollständigen Pfad zur Legacy-Bibliothek an.
- OpenSSL_Options.Legacy.LibPath: hier konfigurierst du, wo die Legacy-Bibliothek liegt
sgcIndy
- Setze die Eigenschaft SSLOptions.Legacy auf True.
- Lege vor dem Start von Server oder Client den Pfad zur Bibliothek legacy.dll fest. Verwende dafür die Funktion IdOpenSSLSetOSSLPath und übergib den Pfad als Argument.
