TsgcWebSocketServer › Propiedades › SSLOptions
Contiene rutas de certificados, selección de versión TLS y configuración de OpenSSL para el listener TLS.
property SSLOptions: TsgcWSSSL_Options read FSSLOptions write SetSSLOptions;
Version=tlsUndefined, VerifyCertificate=False
Proporcione el material del certificado antes de activar el servidor cuando SSL es True: RootCertFile, CertFile y KeyFile apuntan a archivos PEM (utilice la misma ruta para los tres cuando el archivo contiene la cadena completa), y Password solo es necesaria si la clave privada está cifrada. Establezca VerifyCertificate en True para solicitar y validar certificados de cliente (las sub-opciones FailIfNoCertificate y VerifyClientOnce refinan la comprobación) con VerifyDepth controlando la longitud de la cadena. Version selecciona una versión TLS específica (tls1_0, tls1_1, tls1_2, tls1_3) o deja la negociación abierta (tlsUndefined). OpenSSL_Options expone controles de bajo nivel: APIVersion (oslAPI_1_0/oslAPI_1_1/oslAPI_3_0), LibPath/LibPathCustom para localizar los binarios de OpenSSL, UnixSymLinks, ECDHE, CipherList, CurveList, MinVersion y X509Checks para la validación de nombre de host/IP.
oServer := TsgcWebSocketServer.Create(nil);
oServer.SSL := true;
oServer.SSLOptions.CertFile := 'c:\certificates\mycert.pem';
oServer.SSLOptions.KeyFile := 'c:\certificates\mycert.pem';
oServer.SSLOptions.RootCertFile := 'c:\certificates\mycert.pem';
oServer.SSLOptions.Version := tls1_3;
oServer.SSLOptions.OpenSSL_Options.MinVersion := tls1_2;
oServer.SSLOptions.Port := 443;
oServer.Active := true;