TsgcWebSocketClient › Proprietà › TLSOptions
Configura certificati, versione TLS, ALPN, IOHandler e altri dettagli di connessione sicura utilizzati quando TLS è abilitato.
property TLSOptions: TsgcWSTLS_Options read FTLSOptions write SetTLSOptions;
Preset=tlspCustom
Accessibile solo quando TLS è True. Le sotto-proprietà includono RootCertFile, CertFile, KeyFile, Password, VerifyCertificate, VerifyDepth, Version (da tlsUndefined fino a tls1_3), ALPNProtocols e IOHandler (iohOpenSSL, iohSChannel, iohAndroidTLS o iohAppleTLS). Su Android, iohAndroidTLS utilizza il TLS nativo della piattaforma (javax.net.ssl.SSLEngine) e su iOS e macOS, iohAppleTLS utilizza il TLS nativo di Apple, quindi non è necessario distribuire alcuna libreria OpenSSL; il TLS nativo della piattaforma richiede l'edizione Enterprise. Le impostazioni specifiche di OpenSSL si trovano in OpenSSL_Options e quelle specifiche di SChannel in SChannel_Options.
Preset applica un insieme di impostazioni predefinite sicure in un'unica assegnazione. Con tlspCustom (predefinito) ogni opzione mantiene il valore configurato manualmente, preservando il comportamento precedente. Impostando Preset := tlspSecureDefaults si abilita la verifica del certificato (VerifyCertificate := True), si eleva Version almeno a TLS 1.2 (quando era configurata una versione inferiore o non definita) e si abilita il controllo del nome host del certificato del server (validazione hostname X509Checks di OpenSSL). Le singole opzioni possono ancora essere regolate dopo l'applicazione del preset.
oClient := TsgcWebSocketClient.Create(nil);
oClient.URL := 'wss://www.esegece.com:2053';
oClient.TLSOptions.Version := tls1_2;
oClient.TLSOptions.VerifyCertificate := true;
oClient.TLSOptions.RootCertFile := 'cacert.pem';
oClient.Active := true;