TsgcHTTP2Client › プロパティ › TLSOptions
TLS 上の HTTP/2 に使用される証明書、TLS バージョン、ALPN、IOHandler、その他のセキュア接続の詳細を設定します。
property TLSOptions: TsgcTCPTLS_Options read FTLSOptions write SetTLSOptions;
—
TLSがTrueの場合に使用されます。サブプロパティにはRootCertFile、CertFile、KeyFile、Password、VerifyCertificate、VerifyDepth、Version(tlsUndefinedからtls1_3まで)、ALPNProtocolsおよびIOHandler(iohOpenSSL、iohSChannel、iohAndroidTLSまたはiohAppleTLS)が含まれます。AndroidではiohAndroidTLSがプラットフォームネイティブのTLS(javax.net.ssl.SSLEngine)を使用し、iOSおよびmacOSではiohAppleTLSがAppleネイティブのTLSを使用するため、OpenSSLライブラリをデプロイする必要はありません。ネイティブプラットフォームTLSにはEnterpriseエディションが必要です。HTTP/2では、TLSハンドシェイク中にh2プロトコルをアドバタイズするためにALPNが必要です。コンポーネントは自動的にALPNリストにh2を設定しますが、サーバーが追加の識別子を期待する場合はALPNProtocolsを拡張できます。OpenSSL固有の設定はOpenSSL_Optionsの下に、SChannel固有の設定はSChannel_Optionsの下にあります。HTTP/2にはTLS 1.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';