TsgcQUICServer › Eigenschappen › QUICOptions
Serverconfiguratie, inclusief het TLS-certificaat, de privésleutel en het maximale aantal verbindingen.
property QUICOptions: TsgcQUICServerOptions read FQUICOptions write SetQUICOptions;
MaxConnections=0; SSLOptions.Password=''
Groepeert de configuratie die wordt toegepast op de QUIC-listener. Omdat QUIC altijd via TLS 1.3 werkt, zijn een certificaat en privésleutel verplicht en moeten deze worden ingesteld vóór het aanroepen van Start. De beschikbare leden zijn:
SSLOptions.CertFile: pad naar het servercertificaat in PEM-formaat. Vereist.SSLOptions.KeyFile: pad naar de privésleutel die overeenkomt met het certificaat, in PEM-formaat. Vereist. Een versleutelde, met een wachtwoord beveiligde sleutel wordt ondersteund; stel het wachtwoord in bij Password.SSLOptions.Password: wachtwoord voor een versleutelde privésleutel. De server installeert een OpenSSL-wachtwoordcallback voordat KeyFile wordt geladen, zodat een met een wachtwoord beveiligde PEM-sleutel wordt geladen zonder dat er op de console om wordt gevraagd. Laat dit leeg voor een onversleutelde sleutel. In .NET wordt hetzelfde lid ook gebruikt bij het laden van een PFX.SSLOptions.RootCertFile: pad naar het CA-rootcertificaat dat wordt gebruikt wanneer verificatie van clientcertificaten is ingeschakeld. Het wordt gelezen wanneer VerifyCertificate True is. Is het leeg, dan worden in plaats daarvan de standaard verificatiepaden van OpenSSL gebruikt.SSLOptions.VerifyCertificate: wanneer True vraagt de server het clientcertificaat op en verifieert het. Standaard False. De CA-ankers worden eerst uit RootCertFile geladen, waarna de context op SSL_VERIFY_PEER met SSL_VERIFY_FAIL_IF_NO_PEER_CERT wordt gezet, zodat een client die geen certificaat aanbiedt, of een certificaat dat niet valideert, wordt geweigerd.SSLOptions.OpenSSL_Options: laag-niveau OpenSSL-instellingen; de API-versie heeft standaard oslAPI_3_0 omdat QUIC de OpenSSL 3.x API nodig heeft.MaxConnections: maximaal aantal gelijktijdige verbindingen; 0 (standaard) betekent onbeperkt. Nieuwe verbindingen worden geweigerd zodra de limiet is bereikt.IOHandler (TwsTLSIOHandler, standaard iohOpenSSL): TLS-engine van de QUIC-handshake. iohOpenSSL behoudt het OpenSSL-pad, waarbij de engine automatisch wordt gekozen (zie QUICMode). iohNativeTLS voert de TLS 1.3-handshake uit op de native TLS-engine van het sgcCrypto-pack en gebruikt altijd de sgc QUIC-engine. Sessietickets, hervatting en 0-RTT werken zoals bij OpenSSL. De QUIC-pakketbescherming is ook native, dus OpenSSL wordt helemaal niet geladen.
oServer := TsgcQUICServer.Create(nil);
oServer.Port := 4433;
oServer.QUICOptions.SSLOptions.CertFile := 'cert.pem';
oServer.QUICOptions.SSLOptions.KeyFile := 'key.pem';
oServer.QUICOptions.MaxConnections := 1000;
oServer.Start;