TsgcQUICServer › Propiedades › QUICOptions
Configuración del servidor, incluidos el certificado TLS y la clave privada, y el máximo de conexiones.
property QUICOptions: TsgcQUICServerOptions read FQUICOptions write SetQUICOptions;
MaxConnections=0; SSLOptions.Password=''; SSLOptions.VerifyCertificate=False; SSLOptions.OpenSSL_Options.APIVersion=oslAPI_3_0
Agrupa la configuración aplicada al listener QUIC. Como QUIC siempre se ejecuta sobre TLS 1.3, un certificado y una clave privada son obligatorios y deben establecerse antes de llamar a Start. Los miembros disponibles son:
SSLOptions.CertFile: ruta al certificado del servidor en formato PEM. Obligatorio.SSLOptions.KeyFile: ruta a la clave privada que coincide con el certificado, en formato PEM. Obligatorio. Se admite una clave cifrada (protegida con frase de contraseña), indique la frase de contraseña en Password.SSLOptions.Password: frase de contraseña de una clave privada cifrada. El servidor instala una devolución de llamada de contraseña de OpenSSL antes de cargar KeyFile, de modo que una clave PEM protegida con frase de contraseña se carga sin pedirla por consola. Déjela vacía si la clave no está cifrada. En .NET este mismo miembro se utiliza también al cargar un PFX.SSLOptions.RootCertFile: ruta al certificado raíz de la CA utilizado cuando la verificación del certificado de cliente está habilitada. Se lee cuando VerifyCertificate es True. Cuando está vacío, se utilizan en su lugar las rutas de verificación predeterminadas de OpenSSL.SSLOptions.VerifyCertificate: cuando es True el servidor solicita y verifica el certificado del cliente. Su valor predeterminado es False. Las anclas de confianza se cargan primero desde RootCertFile y después el contexto se establece en SSL_VERIFY_PEER junto con SSL_VERIFY_FAIL_IF_NO_PEER_CERT, por lo que se rechaza un cliente que no presente certificado o cuyo certificado no valide.SSLOptions.OpenSSL_Options: ajustes de bajo nivel de OpenSSL; la versión de la API es oslAPI_3_0 de forma predeterminada porque QUIC necesita la API 3.x de OpenSSL.SSLOptions.IOHandler: motor TLS del protocolo de enlace QUIC (iohOpenSSL por defecto, que conserva la selección automática de motor, vea QUICMode). Con iohNativeTLS el protocolo de enlace TLS 1.3 se ejecuta sobre el motor TLS nativo de sgcCrypto y se usa siempre el motor QUIC sgc. Los tickets de sesión, la reanudación y el 0-RTT funcionan igual que con OpenSSL. La protección de paquetes de QUIC también es nativa, así que se prescinde por completo de OpenSSL.MaxConnections: número máximo de conexiones simultáneas; 0 (predeterminado) significa ilimitadas. Las nuevas conexiones se descartan una vez alcanzado el límite.
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;