Uma vez que haja um par de candidatos válido (ambos os peers conseguem se conectar e trocar dados entre si), é hora de tornar a conexão segura. DTLS é um protocolo criptográfico que criptografa os dados para evitar a inspeção ou modificação do conteúdo dos dados trocados.
O DTLS requer as bibliotecas openSSL (a partir do openSSL 1.1+)
A configuração do DTLS pode ser encontrada na propriedade RTCOptions.DTLSOptions do TsgcRTCPeerConnection. Para habilitar o DTLS, defina a propriedade RTCOptions.DTLS como True. Veja abaixo as principais propriedades:
RootCertFile: caminho para o arquivo de certificado raiz.
CertFile: caminho para o arquivo de certificado.
KeyFile: caminho para o arquivo de chave do certificado.
VerifyCertificate: se o certificado deve ser verificado, habilite esta propriedade.
VerifyDepth: é uma propriedade Integer que representa o número máximo de links permitidos quando a verificação está
OpenSSL_Options: configuração das bibliotecas openSSL.
APIVersion: permite definir qual API OpenSSL será utilizada. Somente a API OpenSSL 1.1+ suporta DTLS.
oslAPI_1_1: usa a API 1.1 do OpenSSL, requer nossa biblioteca Indy personalizada e permite usar as bibliotecas OpenSSL 1.1.1 (com suporte a TLS 1.3).
oslAPI_3_0: utiliza a API 3.0 do OpenSSL, requer nossa biblioteca Indy personalizada e permite utilizar as bibliotecas OpenSSL 3.0.0 (com suporte a TLS 1.3).
LibPath: aqui você pode configurar onde estão localizadas as bibliotecas openSSL
oslpNone: este é o padrão, as bibliotecas openSSL devem estar na mesma pasta onde está o binário ou em um caminho conhecido.
oslpDefaultFolder: define automaticamente o caminho openSSL onde as bibliotecas devem estar localizadas para todas as personalidades do IDE.
oslpCustomFolder: se esta for a opção selecionada, defina o caminho completo na propriedade LibPathCustom.
LibPathCustom: quando LibPath = oslpCustomFolder, defina aqui o caminho completo onde estão localizadas as bibliotecas openSSL.
UnixSymLinks: habilita ou desabilita o carregamento de SymLinks em sistemas Unix (por padrão está habilitado, exceto no OSX64):
oslsSymLinksDefault: por padrão estão habilitados, exceto sob OSX64 (após o MacOS Monterey falha ao tentar carregar a biblioteca sem versão.).
oslsSymLinksLoadFirst: Carrega os SymLinks e faz isso antes de tentar carregar as bibliotecas de versão.
oslsSymLinksLoad: Carrega os SymLinks após tentar carregar as bibliotecas de versão.
oslsSymLinksDontLoad: não carrega os SymLinks.