TsgcQUICClient › Propiedades › SSLQUICOptions

SSLQUICOptions Propiedad

Configuración de TLS 1.3 para la conexión QUIC: certificados, ALPN y verificación del par.

Sintaxis

property SSLQUICOptions: TsgcSSLQUICClient_Options read FSSLQUICOptions write SetSSLQUICOptions;

Valor Predeterminado

—

Observaciones

SSLQUICOptions agrupa los ajustes de TLS 1.3 utilizados por la capa segura que QUIC requiere. QUIC siempre negocia ALPN y TLS 1.3, y estas opciones controlan cómo se realiza ese protocolo de enlace: CertFile y KeyFile proporcionan un certificado de cliente, RootCertFile suministra la CA utilizada para validar el servidor, VerifyCertificate y VerifyCertificate_Options controlan la verificación del peer, Version selecciona la versión de TLS, OpenSSL_Options ajusta el backend de OpenSSL, IOHandler selecciona el motor TLS del protocolo de enlace QUIC (iohOpenSSL por defecto, que conserva la selección automática de motor, o iohNativeTLS, que ejecuta el protocolo de enlace TLS 1.3 sobre el motor TLS nativo y usa siempre el motor QUIC sgc, con tickets de sesión, reanudación y 0-RTT igual que con OpenSSL; la protección de paquetes de QUIC también es nativa, así que se prescinde por completo de OpenSSL) y ConnectTimeout limita el protocolo de enlace. Ajuste sus subpropiedades antes de abrir la conexión; los valores se leen cuando se establece la conexión. La capa segura en sí se activa o desactiva con SSLQUIC, mientras que QUICOptions contiene el ajuste del transporte no relacionado con TLS.

El transporte ya aplica ConnectTimeout: el protocolo de enlace se impulsa contra ese plazo y se abandona en cuanto expira, de modo que con el valor predeterminado un servidor inalcanzable falla en unos diez segundos en lugar de los treinta y pico que tardaba el antiguo protocolo de enlace bloqueante.

VerifyCertificate está deshabilitado de forma predeterminada, lo que significa que el cliente acepta cualquier certificado que presente el servidor y deja la conexión expuesta a un ataque de intermediario. Establézcalo en True en producción y proporcione un ancla de confianza mediante RootCertFile. Cuando es True, el certificado también se vincula al host al que se conecta: un nombre DNS en Host se compara con los nombres de host del certificado y un literal IP se compara con las entradas IP. Se rechaza un certificado que tiene una cadena válida pero fue emitido para otro nombre.

La comprobación de identidad del host no necesita nada de usted. Cuando VerifyCertificate es True, el cliente pasa por sí mismo el destino de la conexión al paso de verificación, como nombre de host cuando Host contiene un nombre DNS y como dirección cuando contiene un literal IP. OpenSSL_Options.X509Checks está ahí para sustituir o ampliar esa comprobación, no para habilitarla.

Ejemplo


oClient := TsgcQUICClient.Create(nil);
oClient.Host := 'www.example.com';
oClient.Port := 443;
oClient.SSLQUIC := True;
oClient.SSLQUICOptions.VerifyCertificate := True;
oClient.SSLQUICOptions.RootCertFile := 'ca.pem';

Volver a Propiedades