TsgcQUICClient › Propriedades › SSLQUICOptions

SSLQUICOptions Propriedade

Configurações de TLS 1.3 para a conexão QUIC: certificados, ALPN e verificação de peer.

Sintaxe

property SSLQUICOptions: TsgcSSLQUICClient_Options read FSSLQUICOptions write SetSSLQUICOptions;

Valor Padrão

—

Observações

SSLQUICOptions agrupa as configurações TLS 1.3 utilizadas pela camada segura exigida pelo QUIC. O QUIC sempre negocia ALPN e TLS 1.3, e essas opções controlam como esse handshake é realizado: CertFile e KeyFile fornecem um certificado de cliente, RootCertFile fornece a CA utilizada para validar o servidor, VerifyCertificate e VerifyCertificate_Options controlam a verificação do par, Version seleciona a versão do TLS, OpenSSL_Options ajusta o backend OpenSSL e ConnectTimeout limita o handshake. Ajuste suas sub-propriedades antes de abrir a conexão; os valores são lidos quando a conexão é estabelecida. A camada segura em si é ativada ou desativada com SSLQUIC, enquanto QUICOptions contém o ajuste de transporte não relacionado ao TLS.

ConnectTimeout agora é aplicado pelo transporte: o handshake é conduzido contra esse prazo e desiste assim que ele expira, portanto, com o valor padrão, um servidor inacessível falha em cerca de dez segundos, em vez dos trinta e poucos que o antigo handshake bloqueante levava.

Quando VerifyCertificate é True, o certificado também é vinculado ao host contatado: um nome DNS em Host é comparado com os nomes de host do certificado, e um literal IP com as entradas de IP. Um certificado com cadeia válida, mas emitido para outro nome, é rejeitado. A verificação de identidade do host não exige nada de você, o cliente passa o destino da conexão à etapa de verificação por conta própria. OpenSSL_Options.X509Checks serve para substituir ou estender essa verificação, não para habilitá-la.

IOHandler (padrão iohOpenSSL) seleciona o mecanismo TLS do handshake QUIC. iohOpenSSL mantém o caminho OpenSSL e a seleção automática do mecanismo. iohNativeTLS roda o handshake TLS 1.3 sobre o mecanismo TLS nativo do pacote sgcCrypto e sempre usa o mecanismo QUIC sgc (qmCustom). Tíquetes de sessão, retomada e 0-RTT funcionam como no OpenSSL. A proteção de pacotes QUIC também é nativa, então o OpenSSL não é carregado.

Exemplo


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

Voltar para Propriedades