TsgcQUICClient › 속성 › SSLQUICOptions

SSLQUICOptions 속성

QUIC 연결에 대한 TLS 1.3 설정: 인증서, ALPN 및 피어 검증입니다.

구문

property SSLQUICOptions: TsgcSSLQUICClient_Options read FSSLQUICOptions write SetSSLQUICOptions;

기본값

—

설명

SSLQUICOptions는 QUIC가 요구하는 보안 계층에서 사용하는 TLS 1.3 설정을 그룹화합니다. QUIC는 항상 ALPN과 TLS 1.3을 협상하며, 이 옵션들은 해당 핸드셰이크가 수행되는 방식을 제어합니다. CertFile과 KeyFile은 클라이언트 인증서를 제공하고, RootCertFile은 서버를 검증하는 데 사용되는 CA를 제공하며, VerifyCertificate와 VerifyCertificate_Options는 피어 검증을 제어하고, Version은 TLS 버전을 선택하며, OpenSSL_Options는 OpenSSL 백엔드를 조정하고 ConnectTimeout은 핸드셰이크를 제한합니다. 연결을 열기 전에 하위 속성을 조정하십시오. 값은 연결이 설정될 때 읽힙니다. 보안 계층 자체는 SSLQUIC로 켜거나 끄며, QUICOptions는 TLS가 아닌 전송 조정을 담습니다.

ConnectTimeout은 이제 전송 계층에서 실제로 적용됩니다. 핸드셰이크가 이 기한에 맞춰 진행되고 기한이 지나면 즉시 중단되므로, 기본값을 사용하면 도달할 수 없는 서버는 예전의 블로킹 핸드셰이크에서 걸리던 약 30초가 아니라 약 10초 만에 실패합니다.

VerifyCertificate가 True이면 인증서가 접속 대상 호스트에도 바인딩됩니다. Host의 DNS 이름은 인증서의 호스트 이름과, IP 리터럴은 IP 항목과 대조되므로 체인은 유효하지만 다른 이름으로 발급된 인증서는 거부됩니다. 이 호스트 확인에는 별도의 설정이 필요하지 않습니다. VerifyCertificate가 True이면 클라이언트가 연결 대상을 검증 단계에 직접 전달합니다. OpenSSL_Options.X509Checks는 이 확인을 활성화하기 위한 것이 아니라 재정의하거나 확장하기 위한 것입니다.

IOHandler(기본값 iohOpenSSL)는 QUIC 핸드셰이크의 TLS 엔진을 선택합니다. iohOpenSSL은 OpenSSL 경로와 자동 엔진 선택을 그대로 유지합니다. iohNativeTLS는 sgcCrypto 팩의 네이티브 TLS 엔진에서 TLS 1.3 핸드셰이크를 실행하고 항상 sgc QUIC 엔진(qmCustom)을 사용합니다. 세션 티켓, 재개, 0-RTT는 OpenSSL에서와 동일하게 동작합니다. QUIC 패킷 보호도 네이티브이므로 OpenSSL을 전혀 로드하지 않습니다.

예제


oClient := TsgcQUICClient.Create(nil);
oClient.Host := 'www.example.com';
oClient.Port := 443;
oClient.SSLQUIC := True;
oClient.SSLQUICOptions.VerifyCertificate := True;
oClient.SSLQUICOptions.RootCertFile := 'ca.pem';

속성으로 돌아가기