TsgcWebSocketHTTPServer事件 › OnSSLVerifyPeer

OnSSLVerifyPeer 事件

当启用 VerifyCertificate 且客户端提交证书待接受或拒绝时触发。

语法

property OnSSLVerifyPeer: TsgcOnSSLVerifyPeer;
// TsgcOnSSLVerifyPeer = procedure(Sender: TObject; Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean) of object

默认值

备注

当 SSLOptions.VerifyCertificate 为 True 且客户端在 TLS 握手期间提供证书时,OnSSLVerifyPeer 会对链中的每个证书触发一次。Certificate 参数公开 X.509 数据,AOk 包含 TLS 层的验证结果,ADepth 是链中的位置(叶证书为 0),AError 是验证失败时的错误码。将 Accept 设置为 True 信任该证书,或设置为 False 中止连接。当客户端未提供证书时不会触发此事件;要强制要求客户端证书,请将 SSLOptions.VerifyCertificate_Options.FailIfNoCertificate 设置为 True。

示例


function OnSSLVerifyPeerEvent(Sender: TObject; Certificate: TIdX509;
  AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean);
begin
  // ... validate the certificate
  if Certificate_OK then
    Accept := True
  else
    Accept := False;
end;

返回事件