TsgcHTTP3Client › Propiedades › TLSOptions

TLSOptions Propiedad

Configura los parámetros TLS 1.3 utilizados por la conexión QUIC.

Sintaxis

property TLSOptions: TsgcHTTP3SSLOptions;

Valor Predeterminado

Se crea una instancia automáticamente junto con el componente.

Observaciones

QUIC tiene TLS 1.3 integrado en el transporte, por lo que una conexión HTTP/3 siempre está cifrada y TLSOptions no puede deshabilitarse. Utilícelo para configurar la conexión segura: un certificado de cliente y una clave privada para TLS mutuo, los certificados raíz de confianza utilizados para verificar el servidor, el modo de verificación del peer y el identificador de protocolo ALPN (h3). El nombre de host establecido en Host se envía en la extensión TLS SNI y se compara con el certificado del servidor.

Cuando VerifyCertificate está habilitado, el resultado de la verificación se aplica, por lo que una cadena que no valida aborta la conexión. La verificación también vincula el certificado al host con el que se contacta: un nombre DNS se compara con los nombres de host del certificado y un literal IP se compara con las entradas IP, de modo que se rechaza un certificado que tiene una cadena válida pero fue emitido para otro nombre. La vinculación se toma automáticamente del destino de la conexión, no hay nada más que configurar. Cuando RootCertFile está vacío se utiliza el almacén de confianza predeterminado del sistema operativo.

IOHandler (TwsTLSIOHandler, predeterminado iohOpenSSL): motor TLS del protocolo de enlace QUIC. iohOpenSSL conserva la ruta de OpenSSL y la selección automática de motor. iohNativeTLS ejecuta el protocolo de enlace TLS 1.3 sobre el motor TLS nativo de sgcCrypto y usa siempre el motor QUIC sgc, con el certificado del servidor verificado frente a RootCertFile o las raíces del sistema, nombre de host incluido. Los tickets de sesión, la reanudación y el 0-RTT funcionan igual que con OpenSSL. La protección de paquetes de QUIC también es nativa, así que se prescinde por completo de OpenSSL. Vea SSL sin OpenSSL.

Si está actualizando, tenga en cuenta que las versiones anteriores calculaban el resultado de la verificación y luego lo descartaban, por lo que con VerifyCertificate habilitado el cliente aceptaba cualquier certificado, incluido uno firmado por una autoridad no confiable y uno emitido para otro host. Ahora la comprobación sí se aplica. Una instalación que antes conectaba correctamente puede empezar a fallar, porque los certificados que se aceptaban de forma silenciosa ahora se verifican. Instale la autoridad emisora en el almacén de confianza o apunte RootCertFile a un paquete que la contenga.

Ejemplo


oClient := TsgcHTTP3Client.Create(nil);
oClient.TLSOptions.VerifyCertificate := True;
oClient.TLSOptions.RootCertFile := 'ca.pem';

Volver a Propiedades