TsgcWebSocketServer이벤트 › OnSSLVerifyPeer

OnSSLVerifyPeer 이벤트

VerifyCertificate가 활성화되어 있고 클라이언트가 수락 또는 거부할 인증서를 제시할 때 발생합니다.

구문

__property TsgcOnSSLVerifyPeer OnSSLVerifyPeer;
// typedef void __fastcall (__closure *TsgcOnSSLVerifyPeer)(TObject * Sender, TIdX509 * Certificate, bool AOk, int ADepth, int AError, bool &Accept);

기본값

설명

SSLOptions.VerifyCertificate가 True이고 클라이언트가 TLS 핸드셰이크 동안 인증서를 제공하면, 체인의 각 인증서마다 OnSSLVerifyPeer가 한 번씩 발생합니다. Certificate 매개변수는 X.509 데이터를 노출하고, AOk는 TLS 계층의 검증 결과를 포함하며, ADepth는 체인의 위치(leaf는 0)이고, AError는 검증 실패 시 오류 코드입니다. 인증서를 신뢰하려면 Accept를 True로, 연결을 중단하려면 False로 설정하십시오. 클라이언트가 인증서를 제시하지 않으면 이 이벤트는 발생하지 않습니다. 클라이언트 인증서를 강제하려면 SSLOptions.VerifyCertificate_Options.FailIfNoCertificate를 True로 설정하십시오.

예제


void OnSSLVerifyPeer(TObject *Sender, TIdX509 *Certificate, bool AOk,
  int ADepth, int AError, bool &Accept)
{
  // ... validate the certificate
  if (Certificate_OK)
    Accept = true;
  else
    Accept = false;
}

이벤트로 돌아가기