TsgcWebSocketProxyServer › Events › 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;

返回事件