TsgcQUICServer › Propriétés › QUICOptions
Configuration du serveur, incluant le certificat TLS et la clé privée ainsi que le nombre maximal de connexions.
property QUICOptions: TsgcQUICServerOptions read FQUICOptions write SetQUICOptions;
MaxConnections=0; SSLOptions.Password=''; SSLOptions.VerifyCertificate=False; SSLOptions.OpenSSL_Options.APIVersion=oslAPI_3_0
Regroupe la configuration appliquée au listener QUIC. QUIC fonctionnant toujours sur TLS 1.3, un certificat et une clé privée sont obligatoires et doivent être définis avant d'appeler Start. Les membres disponibles sont :
SSLOptions.CertFile : chemin vers le certificat du serveur au format PEM. Requis.SSLOptions.KeyFile : chemin vers la clé privée correspondant au certificat, au format PEM. Obligatoire. Une clé chiffrée (protégée par une phrase de passe) est prise en charge, indiquez la phrase de passe dans Password.SSLOptions.Password : phrase de passe d'une clé privée chiffrée. Le serveur installe un callback de mot de passe OpenSSL avant de charger KeyFile, de sorte qu'une clé PEM protégée par une phrase de passe est chargée sans invite sur la console. Laissez-le vide pour une clé non chiffrée. En .NET, ce même membre est aussi utilisé lors du chargement d'un fichier PFX.SSLOptions.RootCertFile : chemin vers le certificat racine CA utilisé lorsque la vérification du certificat client est activée. Lorsqu'il est vide, les chemins de vérification par défaut d'OpenSSL sont utilisés à la place.SSLOptions.VerifyCertificate : lorsque la valeur est True, le serveur demande et vérifie le certificat client. La valeur par défaut est False. Les ancres de confiance CA sont d'abord chargées depuis RootCertFile, puis le contexte est configuré avec SSL_VERIFY_PEER et SSL_VERIFY_FAIL_IF_NO_PEER_CERT, de sorte qu'un client qui ne présente aucun certificat, ou qui en présente un qui ne se valide pas, est rejeté.SSLOptions.OpenSSL_Options : paramètres OpenSSL de bas niveau ; la version d'API est par défaut oslAPI_3_0 car QUIC nécessite l'API OpenSSL 3.x.SSLOptions.IOHandler (TwsTLSIOHandler, par défaut iohOpenSSL) : moteur TLS de la poignée de main QUIC. iohOpenSSL conserve la voie OpenSSL, où le moteur est choisi automatiquement (voir QUICMode). iohNativeTLS exécute la poignée de main TLS 1.3 sur le moteur TLS natif du pack sgcCrypto et utilise toujours le moteur QUIC sgc (QUICMode = qmCustom). Le certificat est lu au format PEM ou PFX, et les certificats clients sont vérifiés par rapport à RootCertFile ou aux racines système. Les tickets de session, la reprise et le 0-RTT fonctionnent comme avec OpenSSL. La protection des paquets QUIC est native elle aussi, de sorte qu'OpenSSL n'est pas chargé du tout.MaxConnections : nombre maximum de connexions simultanées ; 0 (par défaut) signifie illimité. Les nouvelles connexions sont rejetées une fois la limite atteinte.
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;