TsgcHTTP3Client › Propriedades › TLSOptions

TLSOptions Property

Configura os parâmetros TLS 1.3 usados pela conexão QUIC.

Sintaxe

property TLSOptions: TsgcHTTP3SSLOptions;

Valor Padrão

Uma instância é criada automaticamente com o componente.

Observações

O QUIC tem o TLS 1.3 integrado ao transporte, portanto uma conexão HTTP/3 é sempre criptografada e TLSOptions não pode ser desabilitado. Use-o para configurar a conexão segura: um certificado de cliente e chave privada para TLS mútuo, os certificados raiz confiáveis usados para verificar o servidor, o modo de verificação de par e o identificador de protocolo ALPN (h3). O nome do host definido em Host é enviado na extensão TLS SNI e é comparado com o certificado do servidor.

VerifyCertificate (Boolean, padrão True) verifica o certificado do servidor. O resultado é aplicado, portanto uma cadeia que não valida aborta a conexão. A verificação também vincula o certificado ao host contatado: um nome DNS é comparado com os nomes de host do certificado e um literal IP é comparado com as entradas de IP, de modo que um certificado com cadeia válida, mas emitido para outro nome, é rejeitado. A vinculação é obtida automaticamente do destino da conexão, não há nada a mais para configurar. Quando RootCertFile está vazio, é utilizado o repositório de certificados confiáveis padrão do sistema operacional.

Se você está atualizando, observe que as versões anteriores calculavam o resultado da verificação e depois o descartavam, portanto, com VerifyCertificate habilitado, o cliente aceitava qualquer certificado, inclusive um assinado por uma autoridade não confiável e um emitido para outro host. A verificação agora é aplicada. Uma instalação que conectava com sucesso antes pode passar a falhar, porque os certificados que eram silenciosamente aceitos agora são verificados. Instale a autoridade emissora no repositório de certificados confiáveis, ou aponte RootCertFile para um bundle que a contenha.

IOHandler (TwsTLSIOHandler, padrão iohOpenSSL): 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, com o certificado do servidor verificado contra RootCertFile ou as raízes do sistema, incluindo o nome do host. 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. Veja Executar sem OpenSSL.

Exemplo


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

Voltar para Propriedades