TsgcHTTP2Client › Propriétés › TLSOptions
Configure les certificats, la version TLS, ALPN, IOHandler et autres détails de connexion sécurisée utilisés pour HTTP/2 sur TLS.
property TLSOptions: TsgcTCPTLS_Options read FTLSOptions write SetTLSOptions;
—
Utilisé lorsque TLS vaut True. Les sous-propriétés incluent RootCertFile, CertFile, KeyFile, Password, VerifyCertificate, VerifyDepth, Version (de tlsUndefined à tls1_3), ALPNProtocols et IOHandler (iohOpenSSL, iohSChannel, iohAndroidTLS ou iohAppleTLS). Sous Android, iohAndroidTLS utilise le TLS natif de la plateforme (javax.net.ssl.SSLEngine) et sous iOS et macOS, iohAppleTLS utilise le TLS natif Apple, de sorte qu'aucune bibliothèque OpenSSL n'a besoin d'être déployée ; le TLS natif de la plateforme nécessite l'édition Enterprise. HTTP/2 nécessite ALPN pour annoncer le protocole h2 pendant le handshake TLS ; le composant remplit automatiquement la liste ALPN avec h2 mais ALPNProtocols peut être étendu si le serveur attend des identifiants supplémentaires. Les paramètres spécifiques à OpenSSL se trouvent sous OpenSSL_Options et les paramètres spécifiques à SChannel sous SChannel_Options. TLS 1.2 ou supérieur est recommandé pour HTTP/2.
oHTTP2 := TsgcHTTP2Client.Create(nil);
oHTTP2.Host := 'http2.akamai.com';
oHTTP2.Port := 443;
oHTTP2.TLS := True;
oHTTP2.TLSOptions.Version := tls1_2;
oHTTP2.TLSOptions.VerifyCertificate := True;
oHTTP2.TLSOptions.RootCertFile := 'cacert.pem';