TLSOptions

继承: RefCounted < Object

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

描述

TLSOptions 是对 StreamPeerTLSPacketPeerDTLS 类中配置选项的抽象。

无法直接实例化这个类的对象,应改用静态方法 clientclient_unsafeserver

GDScript

  1. # 创建 TLS 客户端配置,使用自定义 CA 信任链。
  2. var client_trusted_cas = load("res://my_trusted_cas.crt")
  3. var client_tls_options = TLSOptions.client(client_trusted_cas)
  4. # 创建 TLS 服务器配置。
  5. var server_certs = load("res://my_server_cas.crt")
  6. var server_key = load("res://my_server_key.key")
  7. 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 🔗

Returns the common name (domain name) override specified when creating with client.


X509Certificate get_own_certificate() const 🔗

Returns the X509Certificate specified when creating with server.


CryptoKey get_private_key() const 🔗

Returns the CryptoKey specified when creating with server.


X509Certificate get_trusted_ca_chain() const 🔗

Returns the CA X509Certificate chain specified when creating with client or client_unsafe.


bool is_server() const 🔗

Returns true if created with server, false otherwise.


bool is_unsafe_client() const 🔗

Returns true if created with client_unsafe, false otherwise.


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

使用提供的密钥 key 和证书 certificate 创建 TLS 服务器配置。

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