TsgcHTTP3Server › Eigenschaften › QUICOptions
QUIC-Transportoptionen, einschließlich des TLS 1.3-Zertifikats, des privaten Schlüssels und der Verbindungslimits.
property QUICOptions: TsgcQUICServerOptions;
TsgcQUICServerOptions
— (ein Unterobjekt, das mit der Komponente erstellt wird; siehe die Standardwerte der Member weiter unten)
QUICOptions konfiguriert den zugrunde liegenden QUIC-Transport. QUIC verwendet immer TLS 1.3, es gibt keinen Klartextmodus, daher sind ein Zertifikat und ein passender privater Schlüssel zwingend erforderlich, bevor der Server starten kann. Eine Zuweisung an QUICOptions kopiert die Member des Quellobjekts, statt das Objekt zu ersetzen.
| Member | Typ | Hinweise | Beschreibung |
|---|---|---|---|
SSLOptions.CertFile | string | empty | Pfad zur Server-Zertifikatsdatei im PEM-Format. Erforderlich. |
SSLOptions.KeyFile | string | empty | Pfad zur Datei mit dem privaten Schlüssel im PEM-Format, die zum Zertifikat passt. Erforderlich. |
SSLOptions.Password | string | empty | Passphrase für einen verschlüsselten privaten Schlüssel. Der Server installiert einen OpenSSL-Passwort-Callback, bevor er KeyFile lädt, sodass ein passphrasengeschützter PEM-Schlüssel ohne Eingabeaufforderung auf der Konsole geladen wird. Lassen Sie das Feld für einen unverschlüsselten Schlüssel leer. |
SSLOptions.RootCertFile | string | empty | Pfad zur CA-Stammzertifikatsdatei, die beim Überprüfen von Client-Zertifikaten verwendet wird. |
SSLOptions.VerifyCertificate | Boolean | False | Bei True wird ein Client-Zertifikat angefordert und validiert (mutual TLS). |
SSLOptions.OpenSSL_Options | TsgcOpenSSLClient_Options | API-Version oslAPI_3_0 | Wie die OpenSSL-Bibliotheken gefunden und geladen werden, zum Beispiel der Bibliothekspfad und die API-Version. |
SSLOptions.IOHandler | TwsTLSIOHandler | iohOpenSSL | TLS-Engine des QUIC-Handshakes. iohOpenSSL behält den OpenSSL-Pfad bei, bei dem die Engine automatisch gewählt wird (siehe QUICMode). iohNativeTLS führt den TLS-1.3-Handshake auf der nativen TLS-Engine des sgcCrypto-Packs aus und verwendet immer die sgc-QUIC-Engine. Session-Tickets, Wiederaufnahme und 0-RTT funktionieren wie bei OpenSSL. Der QUIC-Paketschutz ist ebenfalls nativ, sodass OpenSSL überhaupt nicht geladen wird. |
MaxConnections | Integer | 0 | Maximale Anzahl gleichzeitiger QUIC-Verbindungen. 0 bedeutet unbegrenzt. |
Das Zertifikat und der Schlüssel werden von OpenSSL geladen, wenn Start aufgerufen wird, sodass ein falscher Pfad, ein nicht zusammenpassendes Paar oder ein nicht lesbarer Schlüssel zu diesem Zeitpunkt als Ausnahme auftritt und nicht beim Zuweisen der Eigenschaften. Das Zertifikat wird für jede Verbindung präsentiert und Clients validieren es genau so, wie sie es bei einem HTTPS-Zertifikat tun würden, sodass ein selbstsigniertes Zertifikat nur mit Clients funktioniert, die so konfiguriert sind, dass sie ihm vertrauen.
Diese Optionen gehören zum Transport, sie werden daher beim Erstellen des Listeners gelesen. Weisen Sie sie zu, bevor Sie den Server starten; eine Änderung an einem laufenden Server hat keine Wirkung, bis dieser gestoppt und erneut gestartet wird.
Diese Eigenschaft wird von TsgcQUICServer geerbt.
Dieses Member ist derzeit nur in der Delphi/C++Builder-Implementierung verfügbar. Die .NET-Implementierung hat kein QUIC-Optionsobjekt: Sie konfiguriert ihr Zertifikat stattdessen über die Eigenschaft TLSOptions.
oServer.QUICOptions.SSLOptions.CertFile := 'cert.pem';
oServer.QUICOptions.SSLOptions.KeyFile := 'key.pem';
oServer.QUICOptions.MaxConnections := 1000;