TsgcHTTP3Client › Eigenschappen › TLSOptions

TLSOptions Eigenschap

Configureert de TLS 1.3-parameters die door de QUIC-verbinding worden gebruikt.

Syntaxis

property TLSOptions: TsgcHTTP3SSLOptions;

Standaardwaarde

Een instantie wordt automatisch aangemaakt met het component.

Opmerkingen

QUIC heeft TLS 1.3 ingebouwd in het transport, dus een HTTP/3-verbinding is altijd versleuteld en TLSOptions kan niet worden uitgeschakeld. Gebruik het om de beveiligde verbinding te configureren: een clientcertificaat en privésleutel voor wederzijdse TLS, de vertrouwde rootcertificaten die worden gebruikt om de server te verifiëren, peerverificatiemodus en de ALPN-protocol-identifier (h3). De hostnaam ingesteld in Host wordt verzonden in de TLS SNI-extensie en vergeleken met het servercertificaat.

IOHandler (TwsTLSIOHandler, standaard iohOpenSSL): TLS-engine van de QUIC-handshake. iohOpenSSL behoudt het OpenSSL-pad en de automatische engineselectie. iohNativeTLS voert de TLS 1.3-handshake uit op de native TLS-engine van het sgcCrypto-pack en gebruikt altijd de sgc QUIC-engine, waarbij het servercertificaat wordt geverifieerd tegen RootCertFile of de systeem-rootcertificaten, inclusief de hostnaam. Sessietickets, hervatting en 0-RTT werken zoals bij OpenSSL. De QUIC-pakketbescherming is ook native, dus OpenSSL wordt helemaal niet geladen. Zie SSL zonder OpenSSL.

VerifyCertificate verifieert het servercertificaat. Het resultaat wordt afgedwongen, dus een keten die niet valideert, breekt de verbinding af. De verificatie koppelt het certificaat ook aan de host waarmee contact wordt gemaakt. Een DNS-naam wordt vergeleken met de hostnamen in het certificaat en een IP-literal met de IP-vermeldingen, zodat een certificaat met een geldige keten dat voor een andere naam is uitgegeven, wordt geweigerd. Die koppeling wordt automatisch overgenomen van het verbindingsdoel, u hoeft niets extra te configureren. Wanneer RootCertFile leeg is, wordt het standaard certificaatarchief van het besturingssysteem gebruikt. Verificatie uitschakelen maakt de verbinding kwetsbaar voor onderschepping, houd deze dus ingeschakeld buiten gecontroleerde testomgevingen.

Als u een upgrade uitvoert: eerdere versies berekenden het verificatieresultaat en verwierpen het vervolgens, zodat de client met VerifyCertificate ingeschakeld elk certificaat accepteerde, ook een certificaat dat door een niet-vertrouwde autoriteit was ondertekend of aan een andere host was uitgegeven. De controle wordt nu wel toegepast. Een installatie die eerder probleemloos verbinding maakte, kan nu gaan mislukken, omdat certificaten die stilzwijgend werden geaccepteerd nu daadwerkelijk worden geverifieerd. Installeer de uitgevende autoriteit in het certificaatarchief of laat RootCertFile verwijzen naar een bundel die deze bevat.

Voorbeeld


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

Terug naar Properties