TsgcUDPCLient › Properties › DTLS

DTLS 属性

启用数据报 TLS (DTLS),以加密该客户端发送和接收的 UDP 流量。

语法

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 仅在企业版中可用。握手期间触发 OnDTLSVerifyPeer 事件,以便应用程序验证服务器证书,而这只有在 DTLSOptions.VerifyCertificate 为 True 时才会发生。该验证现在会被强制执行。以前证书链的验证结果虽被计算但随即被丢弃,因此任何证书都会被接受,包括由不受信任的颁发机构签发的证书。现在证书链验证失败会终止握手。VerifyCertificate 默认为 False,因此默认配置保持不变。在连接到不同对端之前,调用 ClearDTLS 可丢弃已缓存的 DTLS 会话。

示例

oClient.DTLS := True;
oClient.DTLSOptions.VerifyCertificate := True;
oClient.DTLSOptions.RootCertFile := 'root.pem';

返回属性