TLSOptions

Hereda: RefCounted < Object

Configuración TLS para clientes y servidores.

Descripción

TLSOptions abstrae las opciones de configuración para las clases StreamPeerTLS y PacketPeerDTLS.

Los objetos de esta clase no se pueden instanciar directamente, y en su lugar se debe utilizar uno de los métodos estáticos client(), client_unsafe() o server().

# Crea una configuración de cliente TLS que usa nuestra cadena CA de confianza personalizada.
var client_trusted_cas = load("res://my_trusted_cas.crt")
var client_tls_options = TLSOptions.client(client_trusted_cas)

# Crea una configuración de servidor 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)

Métodos

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


Descripciones de Métodos

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

Crea una configuración de cliente TLS que valida los certificados y sus nombres comunes (nombres de dominio completos).

Puedes especificar una trusted_chain personalizada de autoridades de certificación ( la lista de CA por defecto se usará si null), y opcionalmente proporcionar un common_name_override si esperas que el certificado tenga un nombre común diferente al FQDN del servidor.

Nota: En la plataforma Web, la verificación TLS siempre se aplica contra la lista de CA del navegador web. Esto se considera una característica de seguridad.


TLSOptions client_unsafe(trusted_chain: X509Certificate = null) static 🔗

Crea una configuración de cliente TLS insegura donde la validación del certificado es opcional. Opcionalmente puedes proporcionar un trusted_chain válido, pero el nombre común de los certificados nunca será comprobado. El uso de esta configuración para fines distintos de las pruebas no es recomendable.

Nota: En la plataforma Web, la verificación TLS siempre se aplica contra la lista de CA del navegador web. Esto se considera una característica de seguridad.


String get_common_name_override() const 🔗

Devuelve el nombre común (nombre de dominio) que se especificó al crear con client().


X509Certificate get_own_certificate() const 🔗

Devuelve el X509Certificate especificado al crear con server().


CryptoKey get_private_key() const 🔗

Devuelve la CryptoKey especificada al crear con server().


X509Certificate get_trusted_ca_chain() const 🔗

Devuelve la cadena CA X509Certificate especificada al crear con client() o client_unsafe().


bool is_server() const 🔗

Devuelve true si se crea con server(), false en caso contrario.


bool is_unsafe_client() const 🔗

Devuelve true si se crea con client_unsafe(), false en caso contrario.


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

Crea una configuración de servidor TLS utilizando la key y el certificate proporcionados.

Nota: El certificate debe incluir la cadena de certificados completa hasta la CA firmante (el archivo de certificados se puede concatenar utilizando un editor de texto de propósito general).