TsgcWebSocketClient事件 › OnSSLVerifyPeer

OnSSLVerifyPeer 事件

当 VerifyCertificate 已启用时触发,以便应用程序可以接受或拒绝服务器证书。

语法

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

默认值

备注

当 TLSOptions.VerifyCertificate 为 True 且选用 OpenSSL 作为 IOHandler 时,OnSSLVerifyPeer 将对服务器提交的证书链中的每个证书触发一次。Certificate 参数公开 X.509 数据,AOk 包含 OpenSSL 自身的验证结果,ADepth 是链中的位置(叶证书为 0),AError 是验证失败时的 OpenSSL 错误代码。将 Accept 设为 True 可信任该证书,设为 False 可中止连接。如果使用 SChannel 而非 OpenSSL,请使用 OnSChannelVerifyPeer。

示例


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

返回事件