TsgcQUICServer › 속성 › QUICOptions
TLS 인증서와 개인 키, 최대 연결 수를 포함한 서버 구성.
property QUICOptions: TsgcQUICServerOptions read FQUICOptions write SetQUICOptions;
MaxConnections=0; SSLOptions.Password=''; SSLOptions.VerifyCertificate=False; SSLOptions.OpenSSL_Options.APIVersion=oslAPI_3_0
QUIC 리스너에 적용된 구성을 그룹화합니다. QUIC은 항상 TLS 1.3에서 실행되므로 인증서와 개인 키가 필수이며 Start를 호출하기 전에 설정해야 합니다. 사용 가능한 멤버:
SSLOptions.CertFile: PEM 형식의 서버 인증서 경로. 필수입니다.SSLOptions.KeyFile: PEM 형식으로 된 인증서와 일치하는 개인 키의 경로. 필수입니다. 암호로 보호된(암호화된) 키도 지원되며, 암호는 Password에 설정합니다.SSLOptions.Password: 암호화된 개인 키의 암호입니다. 서버는 KeyFile을 로드하기 전에 OpenSSL 비밀번호 콜백을 설치하므로, 암호로 보호된 PEM 키도 콘솔에서 입력을 요구하지 않고 로드됩니다. 암호화되지 않은 키에는 비워 두십시오. .NET에서는 같은 멤버가 PFX를 로드할 때도 사용됩니다.SSLOptions.RootCertFile: 클라이언트 인증서 검증이 활성화된 경우 사용되는 CA 루트 인증서의 경로. VerifyCertificate가 True일 때 읽히며, 비어 있으면 OpenSSL의 기본 검증 경로가 대신 사용됩니다.SSLOptions.VerifyCertificate: True이면 서버가 클라이언트 인증서를 요청하고 검증합니다(상호 TLS). 먼저 RootCertFile에서 CA 신뢰 앵커를 로드한 다음 컨텍스트를 SSL_VERIFY_FAIL_IF_NO_PEER_CERT와 함께 SSL_VERIFY_PEER로 설정하므로, 인증서를 제시하지 않거나 검증에 실패한 클라이언트는 거부됩니다. 기본값은 False입니다.SSLOptions.OpenSSL_Options: 저수준 OpenSSL 설정. QUIC에는 OpenSSL 3.x API가 필요하므로 API 버전은 기본적으로 oslAPI_3_0입니다.SSLOptions.IOHandler(기본값 iohOpenSSL): QUIC 핸드셰이크의 TLS 엔진. iohOpenSSL은 OpenSSL 경로를 유지하며 엔진이 자동으로 선택됩니다(QUICMode 참조). iohNativeTLS는 sgcCrypto 팩의 네이티브 TLS 엔진에서 TLS 1.3 핸드셰이크를 실행하고 항상 sgc QUIC 엔진을 사용합니다. 세션 티켓, 재개, 0-RTT는 OpenSSL에서와 동일하게 동작합니다. QUIC 패킷 보호도 네이티브이므로 OpenSSL을 전혀 로드하지 않습니다.MaxConnections: 최대 동시 연결 수. 0(기본값)은 무제한을 의미합니다. 한도에 도달하면 새 연결이 거부됩니다.
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;