TsgcQUICClient › Właściwości › SSLQUICOptions

SSLQUICOptions Właściwość

Ustawienia TLS 1.3 dla połączenia QUIC: certyfikaty, ALPN i weryfikacja węzłów.

Składnia

property SSLQUICOptions: TsgcSSLQUICClient_Options read FSSLQUICOptions write SetSSLQUICOptions;

Wartość domyślna

—

Uwagi

SSLQUICOptions grupuje ustawienia TLS 1.3 używane przez warstwę bezpieczną wymaganą przez QUIC. QUIC zawsze negocjuje ALPN i TLS 1.3, a te opcje sterują sposobem wykonania tego uzgadniania: CertFile i KeyFile dostarczają certyfikat klienta, RootCertFile dostarcza CA używane do weryfikacji serwera, VerifyCertificate i VerifyCertificate_Options sterują weryfikacją partnera, Version wybiera wersję TLS, OpenSSL_Options dostrajają backend OpenSSL, IOHandler wybiera silnik TLS uzgadniania QUIC (domyślnie iohOpenSSL, zachowujący automatyczny wybór silnika, albo iohNativeTLS, który uruchamia uzgadnianie TLS 1.3 na natywnym silniku TLS pakietu sgcCrypto i zawsze używa silnika QUIC sgc, z biletami sesji, wznawianiem i 0-RTT tak samo jak przy OpenSSL; ochrona pakietów QUIC jest również natywna, więc OpenSSL w ogóle nie jest ładowany), a ConnectTimeout ogranicza czas uzgadniania. Dostosuj właściwości podrzędne przed otwarciem połączenia; wartości są odczytywane podczas nawiązywania połączenia. Sama warstwa bezpieczna jest włączana lub wyłączana właściwością SSLQUIC, natomiast QUICOptions przechowuje ustawienia transportu niezwiązane z TLS.

ConnectTimeout jest teraz egzekwowany przez transport: uzgadnianie jest prowadzone względem tego terminu i jest przerywane natychmiast po jego upływie, więc przy wartości domyślnej nieosiągalny serwer zgłasza niepowodzenie po około dziesięciu sekundach, a nie po około trzydziestu, jak przy wcześniejszym blokującym uzgadnianiu.

Sprawdzenie tożsamości hosta nie wymaga niczego z Twojej strony. Gdy VerifyCertificate ma wartość True, klient sam przekazuje cel połączenia do etapu weryfikacji: jako nazwę hosta, gdy Host zawiera nazwę DNS, i jako adres, gdy zawiera literał IP. Certyfikat o poprawnym łańcuchu, ale wystawiony dla innej nazwy, jest odrzucany. Właściwość OpenSSL_Options.X509Checks służy do nadpisania lub rozszerzenia tego sprawdzenia, a nie do jego włączenia.

Przykład


oClient := TsgcQUICClient.Create(nil);
oClient.Host := 'www.example.com';
oClient.Port := 443;
oClient.SSLQUIC := True;
oClient.SSLQUICOptions.VerifyCertificate := True;
oClient.SSLQUICOptions.RootCertFile := 'ca.pem';

Wróć do Właściwości