OpenSSL (iohOpenSSL) es el transporte TLS multiplataforma de sgcWebSockets. Funciona en todas las plataformas a las que apunta la librería y es el backend por defecto en la mayoría de ellas, con la cobertura de protocolos y cifrados más amplia de todos los backends. Actívalo asignando iohOpenSSL a TLSOptions.IOHandler, y luego despliega las librerías de runtime de OpenSSL junto con tu aplicación.
TLS multiplataforma implementado sobre el socket de Indy, disponible en todas las plataformas a las que apunta sgcWebSockets.
OpenSSL es la implementación de TLS multiplataforma que sgcWebSockets construye sobre el socket de Indy. Está disponible en Windows, Linux, macOS, iOS y Android, y es el backend por defecto en la mayoría de ellos. Elige OpenSSL cuando necesites un comportamiento TLS idéntico en todas las plataformas, o cuando dependas de una capacidad que solo OpenSSL expone.
El backend cubre desde TLS 1.0 hasta TLS 1.3 con la selección de suites de cifrado más amplia de todos los transportes de sgcWebSockets. Puedes confiar en una autoridad privada o autofirmada con una raíz CA personalizada (RootCertFile), presentar un certificado de cliente para TLS mutuo, y anunciar protocolos de aplicación como http/1.1 mediante ALPN. Como los cuatro backends comparten la misma API TLSOptions, el código escrito para OpenSSL se traslada a un backend nativo cambiando solo la línea de IOHandler.
La contrapartida es el despliegue. OpenSSL es una dependencia externa, así que envías sus librerías de runtime con tu aplicación y las mantienes parcheadas. En Windows eso significa libssl-3.dll y libcrypto-3.dll, en Linux y Android los archivos .so correspondientes, y en las plataformas Apple los archivos .dylib. Si quieres TLS nativo sin ninguna librería que desplegar, fíjate en SChannel en Windows o en los backends nativos de Android y Apple.
Código
Activar OpenSSL
Asigna iohOpenSSL a TLSOptions.IOHandler, y luego despliega las librerías OpenSSL con tu compilación.