下面是对 TLSConfig
数据成员的详细解释,概述了每个可配置成员的类型、默认值和描述。这些数据成员用于在 Fast DDS 中配置 TLS(传输层安全性),以便保护 TCP 通信。
TLSConfig 数据成员解释
成员 | 数据类型 | 默认值 | 描述 |
---|---|---|---|
password | string | ”” | 私钥文件或 RSA 私钥文件的密码。 |
private_key_file | string | ”” | 指向私钥证书文件的路径。 |
rsa_private_key_file | string | ”” | 指向私钥 RSA 证书文件的路径。 |
cert_chain_file | string | ”” | 指向公钥证书链文件的路径。 |
tmp_dh_file | string | ”” | 指向 Diffie-Hellman 参数文件的路径,用于生成共享密钥。 |
verify_file | string | ”” | 指向 CA(认证机构)文件的路径,用于验证服务器证书。 |
verify_mode | TLSVerifyMode | TLSVerifyMode::UNUSED | 确定验证模式掩码,控制如何验证证书。例如,可以选择是否验证服务器或客户端证书。 |
options | TLSOptions | TLSOptions::NONE | 确定 SSL 上下文选项掩码,以定义连接时要使用哪些特性和行为。 |
verify_paths | vector |
空向量 | 系统将查找验证文件的位置列表。如果不为空,则系统会在这些路径中寻找相关的验证文件。 |
verify_depth | int32_t | -1 | 验证中间证书时允许的最大深度。如果设置为 -1,则表示不限制深度。 |
default_verify_path | bool | false | 是否在默认路径上查找验证文件。如果设置为 true,则会在系统默认位置查找 CA 文件等进行验证。 |
handshake_role | TLSHandShakeRole | -TLSHandShakeRole::DEFAULT | - 定义传输在握手期间所扮演的角色,例如客户端或服务器。在某些情况下,这可以影响协商过程中的行为和选择算法. |
server_name | string | _“” _ | - 当使用服务器名称指示(SNI)时所需的服务器名称或主机名,用于提供针对特定主机名的SSL/TLS连接. |
注意事项
- Fast DDS 使用 Boost.Asio 库来处理 TLS 安全连接。这些数据成员用于构建 Asio 库上下文,大多数成员直接映射到此上下文,而没有进一步操作。
- 有关每个成员及其对 Boost.Asio 上下文影响的信息,可以参考 Boost.Asio 文档。
总结
TLSConfig
的这些数据成员使得开发者能够灵活地配置安全通信所需的一切,包括证书、密钥、CA 文件以及其他重要参数,从而确保数据传输过程中的安全性和完整性。当应用程序通过网络进行敏感信息交换时,正确地配置这些选项非常重要,以防止潜在的数据泄露和攻击风险。
内容由零声教学AI助手提供,问题来源于学员提问