OpenSSL 3.0 trasladó varios algoritmos obsoletos o inseguros a un módulo interno de la librería llamado legacy provider. No se carga por defecto, por lo que las aplicaciones (o sus runtimes de lenguaje) que usan OpenSSL para operaciones criptográficas no pueden usar dichos algoritmos al cargar certificados, crear message digests...
Si intentas cargar un certificado p12 por ejemplo, obtendrás un error. Si quieres cargar un certificado p12 usando sgcIndy o sgcWebSockets debes desplegar la librería legacy.dll y habilitar algunas propiedades en los componentes.
Actualmente puedes descargar legacy.dll con la última versión openSSL 3.3.
sgcWebSockets
- Establece la propiedad OpenSSL_Options.Legacy.Enabled a True.
- Configura la ubicación de la librería Legacy.
- OpenSSL_Options.Legacy.LibPath: aquí puedes configurar dónde se encuentra la librería legacy
- oslpNone: es el valor por defecto; la librería legacy debe estar en la misma carpeta donde está el binario o en una ruta conocida.
- oslpDefaultFolder: establece automáticamente la ruta de la librería legacy donde deberían ubicarse las librerías para todas las personalidades del IDE.
- oslpCustomFolder: si esta es la opción seleccionada, define la ruta completa en la propiedad LibPathCustom.
- OpenSSL_Options.Legacy.LibPathCustom: cuando LibPath = oslpCustomFolder define aquí la ruta completa donde se encuentra la librería legacy.
- OpenSSL_Options.Legacy.LibPath: aquí puedes configurar dónde se encuentra la librería legacy
sgcIndy
- Establece la propiedad SSLOptions.Legacy a True.
- Antes de iniciar el servidor o el cliente, configura la ruta donde se encuentra la librería legacy.dll. Usa la función IdOpenSSLSetOSSLPath y pasa la ruta como argumento.
