Por padrão, o servidor não verifica os certificados de peer. Para configurar o servidor para verificar os certificados do cliente, implemente os seguintes passos:
Trate o evento OnSSLVerifyPeer e implemente o código a seguir para ser notificado sempre que um cliente se conectar com um certificado.
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;
Observe que o evento OnSSLVerifyPeer é chamado apenas se o cliente fornecer um certificado; se um cliente não fornecer um certificado, o evento não é disparado.
Você pode configurar o servidor para permitir apenas conexões SSL que utilizem um certificado. Para isso, defina a seguinte propriedade:
Se o cliente não fornecer um certificado, a conexão será fechada no SSL Handshake.