RTCPeerConnection | DTLS

Zodra er een geldig kandidaatpaar is (beide peers kunnen verbinding maken en gegevens uitwisselen), is het tijd om de verbinding te beveiligen. DTLS is een cryptografisch protocol dat de gegevens versleutelt om inspectie of wijziging van de inhoud van de uitgewisselde gegevens te voorkomen.

 

DTLS vereist de openSSL-bibliotheken (vanaf openSSL 1.1+)

 

De configuratie van DTLS is te vinden in de eigenschap RTCOptions.DTLSOptions van TsgcRTCPeerConnection. Om DTLS in te schakelen, stelt u de eigenschap RTCOptions.DTLS in op True. Hieronder staan de belangrijkste eigenschappen:

 

 

RootCertFile: pad naar het certificaatarchief dat wordt gebruikt om de tegenpartij te verifiëren, normaal gesproken een bestand met de certificaatautoriteit. Dit is dezelfde betekenis die de eigenschap heeft op de TLS- en QUIC-transporten. Het is niet het certificaat van dit eindpunt, en een configuratie die RootCertFile en KeyFile instelt maar CertFile leeg laat, genereert een fout wanneer de verbinding start.

CertFile: pad naar het certificaatbestand van dit eindpunt. Het bestand mag het certificaat samen met de intermediaire certificaten bevatten, dus een ketenbestand werkt.

KeyFile: pad naar het certificaatsleutelbestand.

VerifyCertificate: als de certificaatketen van de tegenpartij moet worden geverifieerd, schakel deze eigenschap in. WebRTC authenticeert de tegenpartij op basis van de vingerafdruk in de SDP en niet op basis van een certificaatketen, dus deze eigenschap uitgeschakeld laten is de normale WebRTC-configuratie, en ze wordt niet beïnvloed door de ketenverificatie die nu op de DTLS-transporten wordt afgedwongen.

VerifyDepth: is een Integer-eigenschap die het maximale aantal toegestane schakels bij verificatie vertegenwoordigt, dat wil zeggen de maximale ketendiepte die is toegestaan wanneer het certificaat van de tegenpartij wordt geverifieerd.

OpenSSL_Options: configuration of the openSSL libraries.

APIVersion: hiermee kunt u bepalen welke OpenSSL API wordt gebruikt. Alleen OpenSSL API 1.1+ ondersteunt DTLS.

oslAPI_1_1: maakt gebruik van OpenSSL API 1.1; vereist onze aangepaste Indy-bibliotheek en biedt de mogelijkheid OpenSSL 1.1.1-bibliotheken te gebruiken (met TLS 1.3-ondersteuning).

oslAPI_3_0: gebruikt API 3.0 OpenSSL, vereist onze aangepaste Indy-bibliotheek en staat het gebruik van OpenSSL 3.0.0-bibliotheken toe (met TLS 1.3-ondersteuning).

LibPath: hier kunt u configureren waar de openSSL-bibliotheken zich bevinden

oslpNone: dit is de standaard; de openSSL-bibliotheken moeten zich in dezelfde map bevinden als het binaire bestand of in een bekend pad.

oslpDefaultFolder: stelt automatisch het openSSL-pad in waar de bibliotheken zich moeten bevinden voor alle IDE-platformpersoonlijkheden.

oslpCustomFolder: als deze optie is geselecteerd, definieer dan het volledige pad in de eigenschap LibPathCustom.

LibPathCustom: wanneer LibPath = oslpCustomFolder, definieer hier het volledige pad waar de openSSL-bibliotheken zich bevinden.

UnixSymLinks: het laden van symbolische koppelingen onder Unix-systemen in- of uitschakelen (standaard ingeschakeld, behalve onder OSX64):

oslsSymLinksDefault: standaard ingeschakeld, behalve onder OSX64 (na MacOS Monterey mislukt het laden van de bibliotheek zonder versie.).

oslsSymLinksLoadFirst: Laad SymLinks en doe dit voor het laden van de versiebibliotheken.

oslsSymLinksLoad: Laad SymLinks nadat geprobeerd is de versie-bibliotheken te laden.

oslsSymLinksDontLoad: laadt de SymLinks niet.