TsgcQUICClient › Proprietà › SSLQUICOptions

SSLQUICOptions Proprietà

Impostazioni TLS 1.3 per la connessione QUIC: certificati, ALPN e verifica del peer.

Sintassi

property SSLQUICOptions: TsgcSSLQUICClient_Options read FSSLQUICOptions write SetSSLQUICOptions;

Valore predefinito

—

Note

SSLQUICOptions raggruppa le impostazioni TLS 1.3 utilizzate dal livello sicuro richiesto da QUIC. QUIC negozia sempre ALPN e TLS 1.3, e queste opzioni controllano come viene eseguito tale handshake: CertFile e KeyFile forniscono un certificato client, RootCertFile fornisce la CA usata per convalidare il server, VerifyCertificate e VerifyCertificate_Options controllano la verifica del peer, Version seleziona la versione TLS, OpenSSL_Options regola il backend OpenSSL e ConnectTimeout limita l'handshake. Regolare le sue sotto-proprietà prima di aprire la connessione; i valori vengono letti quando la connessione viene stabilita. Il livello sicuro stesso viene attivato o disattivato con SSLQUIC, mentre QUICOptions contiene la configurazione del trasporto non-TLS.

ConnectTimeout è ora applicato dal trasporto: l'handshake viene fatto avanzare rispetto a questa scadenza e viene abbandonato non appena scade, quindi con il valore predefinito un server irraggiungibile fallisce in una decina di secondi invece dei circa trenta richiesti dal precedente handshake bloccante.

Quando VerifyCertificate è True il certificato viene inoltre legato all'host a cui ci si connette. Un nome DNS in Host viene confrontato con i nomi host presenti nel certificato, un letterale IP con le voci IP, e un certificato con catena valida ma emesso per un nome diverso viene rifiutato. Il controllo dell'identità dell'host non richiede alcun intervento, perché il client passa da solo la destinazione della connessione al passo di verifica. OpenSSL_Options.X509Checks serve a sovrascrivere o estendere quel controllo, non ad abilitarlo.

IOHandler (TwsTLSIOHandler, valore predefinito iohOpenSSL) è il motore TLS dell'handshake QUIC. iohOpenSSL mantiene il percorso OpenSSL con la selezione automatica del motore. iohNativeTLS esegue l'handshake TLS 1.3 sul motore TLS nativo del pack sgcCrypto e utilizza sempre il motore QUIC sgc (qmCustom). I session ticket, la ripresa e lo 0-RTT funzionano come su OpenSSL. Anche la protezione dei pacchetti QUIC è nativa, quindi OpenSSL non viene caricato affatto.

Esempio


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

Torna alle Proprietà