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)

Методы

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 центров сертификации (список CA по умолчанию будет использоваться, если null), и дополнительно указать common_name_override, если вы ожидаете, что сертификат будет иметь общее имя, отличное от FQDN сервера.

Примечание: На веб-платформе проверка TLS всегда принудительно выполняется по списку CA веб-браузера. Это считается функцией безопасности.


TLSOptions client_unsafe(trusted_chain: X509Certificate = null) static 🔗

Создает небезопасную конфигурацию клиента TLS, в которой проверка сертификата необязательна. Вы можете дополнительно указать допустимый trusted_chain, но общее имя сертификатов никогда не будет проверяться. Использование этой конфигурации для целей, отличных от тестирования не рекомендуется.

Примечание: На веб-платформе проверка TLS всегда принудительно выполняется по списку CA веб-браузера. Это считается функцией безопасности.


String get_common_name_override() const 🔗

Возвращает переопределение общего имени (доменного имени), указанное при создании с помощью client().


X509Certificate get_own_certificate() const 🔗

Возвращает X509Certificate, указанный при создании с помощью server().


CryptoKey get_private_key() const 🔗

Возвращает CryptoKey, указанный при создании с помощью server().


X509Certificate get_trusted_ca_chain() const 🔗

Возвращает цепочку CA X509Certificate, указанную при создании с помощью client() или client_unsafe().


bool is_server() const 🔗

Возвращает true, если создано с помощью server(), в противном случае false.


bool is_unsafe_client() const 🔗

Возвращает true, если создано с помощью client_unsafe(), в противном случае false.


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

Создает конфигурацию сервера TLS с использованием предоставленных key и certificate.

Примечание: certificate должен включать полную цепочку сертификатов вплоть до подписывающего CA (файл сертификатов можно объединить с помощью текстового редактора общего назначения).