默认情况下,服务器不验证对端证书。要配置服务器验证客户端证书,请执行以下步骤:
处理 OnSSLVerifyPeer 事件并实现以下代码,以便在每次客户端使用证书连接时收到通知。
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;
请注意,OnSSLVerifyPeer 事件仅在客户端提供证书时调用,若客户端未提供证书,则不会触发该事件。
您可以将服务器配置为仅允许使用证书的 SSL 连接。为此,请设置以下属性:
如果客户端未提供证书,连接将在 SSL 握手时关闭。