TLSOptions¶
继承: RefCounted < Object
客户端和服务器的TLS配置。
描述¶
TLSOptions 对 StreamPeerTLS 和 PacketPeerDTLS 类的配置选项进行了抽象。
此类的对象不能直接实例化,而应使用静态方法 client()、client_unsafe() 或 server() 之一。.
# 创建一个使用我们自定义受信任的证书授权中心链的 TLS 客户端配置。
var client_trusted_cas = load("res://my_trusted_cas.crt")
var client_tls_options = TLSOptions.client(client_trusted_cas)
# 创建一个 TLS 服务器配置。
var server_certs = load("res://my_server_cas.crt")
var server_key = load("res://my_server_key.key")
var server_tls_options = TLSOptions.server(server_key, server_certs)
方法¶
client(trusted_chain: X509Certificate = null, common_name_override: String = "") static |
|
client_unsafe(trusted_chain: X509Certificate = null) static |
|
get_common_name_override() const |
|
get_own_certificate() const |
|
get_private_key() const |
|
get_trusted_ca_chain() const |
|
is_server() const |
|
is_unsafe_client() const |
|
server(key: CryptoKey, certificate: X509Certificate) static |
方法说明¶
TLSOptions client(trusted_chain: X509Certificate = null, common_name_override: String = "") static 🔗
创建验证证书及其通用名称(完全限定域名)的TLS客户端配置。
您可以指定证书颁发机构的自定义trusted_chain(如果null,则使用默认CA列表),如果您希望证书具有服务器FQDN以外的通用名称,则可以选择提供common_name_override。
注意:在Web平台上,TLS验证总是针对Web浏览器的CA列表强制执行。这被认为是一个安全特性。
TLSOptions client_unsafe(trusted_chain: X509Certificate = null) static 🔗
创建不安全TLS客户端配置,其中证书验证是可选的。您可以选择提供有效的trusted_chain,但永远不会检查证书的通用名称。不建议将此配置用于测试以外的目的。
注意:在Web平台上,TLS验证总是针对Web浏览器的CA列表强制执行。这被认为是一个安全特性。
String get_common_name_override() const 🔗
返回使用client()创建时指定的通用名称(域名)覆盖。
X509Certificate get_own_certificate() const 🔗
返回使用server()创建时指定的X509Certificate。
CryptoKey get_private_key() const 🔗
X509Certificate get_trusted_ca_chain() const 🔗
返回使用client()或client_unsafe()创建时指定的CAX509Certificate链。
如果使用server()创建,则返回true,否则返回false。
bool is_unsafe_client() const 🔗
如果使用client_unsafe()创建,则返回true,否则返回false。
TLSOptions server(key: CryptoKey, certificate: X509Certificate) static 🔗
使用提供的key和certificate创建TLS服务器配置。
注意:certificate应包括直到签名CA的完整证书链(可以使用通用文本编辑器连接证书文件)。