TLSOptions

继承: RefCounted < Object

客户端和服务器的TLS配置。

描述

TLSOptions 对 StreamPeerTLSPacketPeerDTLS 类的配置选项进行了抽象。

此类的对象不能直接实例化,而应使用静态方法 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)

方法

TLSOptions

client(trusted_chain: X509Certificate = null, common_name_override: String = "") static

TLSOptions

client_unsafe(trusted_chain: X509Certificate = null) static

String

get_common_name_override() const

X509Certificate

get_own_certificate() const

CryptoKey

get_private_key() const

X509Certificate

get_trusted_ca_chain() const

bool

is_server() const

bool

is_unsafe_client() const

TLSOptions

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 🔗

返回使用server()创建时指定的CryptoKey


X509Certificate get_trusted_ca_chain() const 🔗

返回使用client()client_unsafe()创建时指定的CAX509Certificate链。


bool is_server() const 🔗

如果使用server()创建,则返回true,否则返回false


bool is_unsafe_client() const 🔗

如果使用client_unsafe()创建,则返回true,否则返回false


TLSOptions server(key: CryptoKey, certificate: X509Certificate) static 🔗

使用提供的keycertificate创建TLS服务器配置。

注意:certificate应包括直到签名CA的完整证书链(可以使用通用文本编辑器连接证书文件)。