TsgcUDPCLient › Properties › DTLS
このクライアントが送受信する UDP トラフィックを暗号化するためにデータグラム TLS (DTLS) を有効にします。
property DTLS: Boolean read FDTLS write FDTLS;
—
True の場合、データグラムは DTLS でラップされ、最初の使用時にピアとの TLS ハンドシェイクが実行されます。False の場合、クライアントは生の UDP を送受信します。DTLS サポートには OpenSSL API 1.1 または 3.0(DTLSOptions.OpenSSL_Options.APIVersion で設定)とカスタム Indy ビルドが必要です。ただし DTLSOptions.IOHandler が iohNativeTLS の場合は例外で、この場合は sgcCrypto パックのネイティブ DTLS 1.2 エンジンが選択され、OpenSSL ライブラリは読み込まれません。DTLS は Enterprise エディションでのみ利用可能です。ハンドシェイク中に OnDTLSVerifyPeer イベントが発生し、アプリケーションがサーバー証明書を検証できます。これは DTLSOptions.VerifyCertificate が True の場合にのみ実行されます。この検証は実際に適用されるようになりました。以前はチェーン検証の結果が算出されたうえで破棄されていたため、信頼されていない認証局が発行した証明書を含め、あらゆる証明書が受け入れられていました。現在はチェーンの検証に失敗するとハンドシェイクが終了します。VerifyCertificate のデフォルトは False であるため、デフォルトの構成に変更はありません。別のピアに接続する前にキャッシュされた DTLS セッションを破棄するには ClearDTLS を呼び出してください。
oClient.DTLS := True;
oClient.DTLSOptions.VerifyCertificate := True;
oClient.DTLSOptions.RootCertFile := 'root.pem';