一旦存在有效的候选对(双方都能连接并在它们之间交换数据),就需要使连接变得安全。DTLS 是一种加密协议,用于加密数据,防止对所交换数据内容的检查或修改。
DTLS 需要 OpenSSL 库(OpenSSL 1.1 及以上)。
DTLS 的配置位于 TsgcRTCPeerConnection 的 RTCOptions.DTLSOptions 属性中。要启用 DTLS,请将 RTCOptions.DTLS 属性设置为 True。以下是主要属性:
RootCertFile:根证书文件的路径。
CertFile:证书文件的路径。
KeyFile:证书密钥文件的路径。
VerifyCertificate:如果必须验证证书,请启用此属性。
VerifyDepth: 是一个整数属性,表示验证时允许的最大链接数
OpenSSL_Options:OpenSSL 库的配置。
APIVersion: 允许定义将使用的 OpenSSL API。仅 openSSL API 1.1 及以上版本支持 DTLS。
oslAPI_1_1:使用 OpenSSL API 1.1,需要我们定制的 Indy 库,并支持 OpenSSL 1.1.1 库(含 TLS 1.3 支持)。
oslAPI_3_0:使用 API 3.0 OpenSSL,需要我们的自定义 Indy 库,并允许使用 OpenSSL 3.0.0 库(支持 TLS 1.3)。
LibPath: 在此处您可以配置 openSSL 库的位置
oslpNone:这是默认值,OpenSSL 库应与二进制文件位于同一文件夹中,或位于已知路径中。
oslpDefaultFolder:自动设置所有 IDE 版本应查找 OpenSSL 库的路径。
oslpCustomFolder: 如果选择此选项,请在属性 LibPathCustom 中定义完整路径。
LibPathCustom:当 LibPath = oslpCustomFolder 时,在此处定义 openSSL 库所在的完整路径。
UnixSymLinks: 启用或禁用在 Unix 系统下加载符号链接(默认启用,OSX64 除外):
oslsSymLinksDefault: 默认情况下启用,但在 OSX64 下除外(MacOS Monterey 之后,不带版本号尝试加载库会失败)。
oslsSymLinksLoadFirst:先加载符号链接,然后再尝试加载版本库。
oslsSymLinksLoad: 在尝试加载版本库后加载符号链接。
oslsSymLinksDontLoad:不加载符号链接。