TsgcUDPCLient › Propriedades › DTLS
Habilita Datagram TLS (DTLS) para criptografar o tráfego UDP enviado e recebido por este cliente.
property DTLS: Boolean read FDTLS write FDTLS;
—
Quando True, os datagramas são encapsulados em DTLS e um handshake TLS é realizado com o peer no primeiro uso; quando False, o cliente envia e recebe UDP bruto. O suporte a DTLS requer a API OpenSSL 1.1 ou 3.0 (configurada através de DTLSOptions.OpenSSL_Options.APIVersion) e nossa build personalizada do Indy, a menos que DTLSOptions.IOHandler seja iohNativeTLS, que seleciona o mecanismo DTLS 1.2 nativo do pacote sgcCrypto e não carrega nenhuma biblioteca OpenSSL. O DTLS está disponível apenas na edição Enterprise. O evento OnDTLSVerifyPeer é disparado durante o handshake para que a aplicação possa validar o certificado do servidor, e isso só acontece quando DTLSOptions.VerifyCertificate é True. A verificação agora é aplicada. Anteriormente o resultado da validação de cadeia era calculado e depois descartado, portanto qualquer certificado era aceito, inclusive um emitido por uma autoridade não confiável. Uma cadeia que falha agora encerra o handshake. VerifyCertificate é False por padrão, portanto a configuração padrão permanece inalterada. Chame ClearDTLS para descartar a sessão DTLS em cache antes de conectar a um peer diferente.
oClient.DTLS := True;
oClient.DTLSOptions.VerifyCertificate := True;
oClient.DTLSOptions.RootCertFile := 'root.pem';