TsgcWebSocketHTTPServer › Properties › SSLOptions
Contiene i percorsi dei certificati, la selezione della versione TLS e le impostazioni di ottimizzazione di OpenSSL per il listener TLS.
property SSLOptions: TsgcWSSSL_Options read FSSLOptions write SetSSLOptions;
Version=tlsUndefined, VerifyCertificate=False
Fornire il materiale del certificato prima di attivare il server quando SSL è True: RootCertFile, CertFile e KeyFile puntano a file PEM (utilizzare lo stesso percorso per tutti e tre quando il file contiene la catena completa) e Password è necessaria solo se la chiave privata è cifrata. Impostare VerifyCertificate su True per richiedere e validare i certificati client (le sotto-opzioni FailIfNoCertificate e VerifyClientOnce affinano il controllo) con VerifyDepth che controlla la lunghezza della catena. Version seleziona una versione TLS specifica (tls1_0, tls1_1, tls1_2, tls1_3) o lascia la negoziazione aperta (tlsUndefined). OpenSSL_Options espone parametri di basso livello: APIVersion (oslAPI_1_0/oslAPI_1_1/oslAPI_3_0), LibPath/LibPathCustom per individuare i binari OpenSSL, UnixSymLinks, ECDHE, CipherList, CurveList, MinVersion e X509Checks per la validazione di hostname/IP.
oServer := TsgcWebSocketHTTPServer.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;