TsgcWebSocketClient › Properties › TLSOptions
TLS が有効な場合に使用される証明書、TLS バージョン、ALPN、IOHandler、その他のセキュア接続の詳細を設定します。
property TLSOptions: TsgcWSTLS_Options read FTLSOptions write SetTLSOptions;
Preset=tlspCustom
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ライブラリをデプロイする必要はありません。OpenSSL固有の設定はOpenSSL_Optionsの下に、SChannel固有の設定はSChannel_Optionsの下にあります。
Preset は、一度の代入で一連の安全なデフォルト値を適用します。tlspCustom(デフォルト)では、各オプションは手動で設定した値を保持し、以前の動作が維持されます。Preset := tlspSecureDefaults を設定すると、証明書の検証(VerifyCertificate := True)が有効になり、Version が少なくとも TLS 1.2 に引き上げられ(より低いバージョンまたは未定義のバージョンが設定されていた場合)、サーバー証明書のホスト名チェック(OpenSSL の X509Checks ホスト名検証)が有効になります。プリセットを適用した後でも、個々のオプションを調整できます。
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;