QUIC

QUIC is een algemeen transportprotocol gedefinieerd in RFC 9000. Het draait bovenop UDP en biedt beveiligde, gemultiplexte verbindingen met ingebouwde versleuteling. QUIC is de transportlaag waarop het HTTP/3-protocol is gebouwd.

Hoofdfuncties

QUIC introduceert andere verbeteringen, meer details: RFC9000.

QUIC vereist OpenSSL 3.5 of hoger, dat de QUIC-implementatie levert die door deze componenten wordt gebruikt.

De gebruikte engine volgt de IOHandler van de TLS-opties (SSLQUICOptions op de QUIC-client, TLSOptions op de HTTP/3-client, QUICOptions.SSLOptions op de servers). Met iohOpenSSL, de standaardwaarde, wordt de ingebouwde QUIC-stack van OpenSSL 3.5+ gebruikt wanneer die beschikbaar is, met de sgc-engine (de Pascal QUIC-stack in de sgcQUIC_*-units) als terugval. Met iohNativeTLS wordt altijd de sgc-engine gebruikt, met de TLS 1.3-handshake op de native TLS-engine van het sgcCrypto-pack. De sgc-engine ondersteunt inmiddels ook meerdere streams per verbinding, inclusief de control- en QPACK-streams die de HTTP/3-client opent. Met iohNativeTLS verloopt ook de pakketbescherming van QUIC native, zonder dat daarvoor een define nodig is, zodat QUIC en HTTP/3 volledig zonder OpenSSL kunnen draaien, zie SSL zonder OpenSSL. Met iohOpenSSL volgt de pakketbescherming sgcCryptoBackend (of de SGC_NATIVE_CRYPTO-define).

Componenten