OpenSSL 3.0 a déplacé plusieurs algorithmes dépréciés ou non sécurisés dans un module interne de la bibliothèque appelé legacy provider. Il n'est pas chargé par défaut, donc les applications (ou leurs runtimes de langage) qui utilisent OpenSSL pour des opérations cryptographiques ne peuvent pas utiliser ces algorithmes lors du chargement de certificats, de la création de condensés de message...
Si tu essaies de charger un certificat p12, par exemple, tu obtiendras une erreur. Si tu veux charger un certificat p12 avec sgcIndy ou sgcWebSockets, tu dois déployer la bibliothèque legacy.dll et activer certaines propriétés des composants.
Tu peux actuellement télécharger legacy.dll avec la dernière version openSSL 3.3.
sgcWebSockets
- Mets la propriété OpenSSL_Options.Legacy.Enabled à True.
- Définis l'emplacement de la bibliothèque Legacy.
- OpenSSL_Options.Legacy.LibPath : ici tu peux configurer l'emplacement de la bibliothèque legacy
- oslpNone : c'est la valeur par défaut ; la bibliothèque legacy doit être dans le même dossier que le binaire ou dans un chemin connu.
- oslpDefaultFolder : définit automatiquement le chemin de la bibliothèque legacy là où les bibliothèques doivent être placées pour toutes les personnalités de l'IDE.
- oslpCustomFolder : si cette option est sélectionnée, définis le chemin complet dans la propriété LibPathCustom.
- OpenSSL_Options.Legacy.LibPathCustom : quand LibPath = oslpCustomFolder, définis ici le chemin complet où se trouve la bibliothèque legacy.
- OpenSSL_Options.Legacy.LibPath : ici tu peux configurer l'emplacement de la bibliothèque legacy
sgcIndy
- Mets la propriété SSLOptions.Legacy à True.
- Avant de démarrer le serveur ou le client, définis le chemin où se trouve la bibliothèque legacy.dll. Utilise la fonction IdOpenSSLSetOSSLPath et passe le chemin en argument.
