De forma predeterminada, el servidor no verifica los certificados del par. Para configurar el servidor de modo que verifique los certificados de cliente, siga estos pasos:
Gestione el evento OnSSLVerifyPeer e implemente el siguiente código para recibir una notificación cada vez que un cliente se conecte con un 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;
Tenga en cuenta que el evento OnSSLVerifyPeer solo se llama si el cliente proporciona un certificado; si un cliente no proporciona un certificado, el evento no se activa.
Puede configurar el servidor para que solo permita conexiones SSL que utilicen un certificado. Para ello, establezca la siguiente propiedad:
Si el cliente no proporciona un certificado, la conexión se cerrará durante el handshake SSL.