Domyślnie serwer nie weryfikuje certyfikatów peer. Aby skonfigurować serwer do weryfikacji certyfikatów klientów, należy wykonać następujące kroki:
Obsłuż zdarzenie OnSSLVerifyPeer i zaimplementuj poniższy kod, aby otrzymywać powiadomienia za każdym razem, gdy klient łączy się z certyfikatem.
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;
Należy pamiętać, że zdarzenie OnSSLVerifyPeer jest wywoływane tylko wtedy, gdy klient dostarcza certyfikat; jeśli klient nie dostarcza certyfikatu, zdarzenie nie jest wyzwalane.
Można skonfigurować serwer tak, aby akceptował wyłącznie połączenia SSL wymagające certyfikatu. W tym celu należy ustawić następującą właściwość:
Jeśli klient nie dostarczy certyfikatu, połączenie zostanie zamknięte podczas uzgodnienia SSL.