Standardmäßig überprüft der Server keine Peer-Zertifikate. Um den Server so zu konfigurieren, dass er Client-Zertifikate überprüft, führen Sie die folgenden Schritte aus:
Behandeln Sie das Ereignis OnSSLVerifyPeer und implementieren Sie den folgenden Code, um jedes Mal benachrichtigt zu werden, wenn sich ein Client mit einem Zertifikat verbindet.
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;
Beachten Sie, dass das Ereignis OnSSLVerifyPeer nur aufgerufen wird, wenn der Client ein Zertifikat bereitstellt; wenn ein Client kein Zertifikat bereitstellt, wird das Ereignis nicht ausgelöst.
Sie können den Server so konfigurieren, dass er nur SSL-Verbindungen zulässt, die ein Zertifikat verwenden. Setzen Sie dazu die folgende Eigenschaft:
Wenn der Client kein Zertifikat bereitstellt, wird die Verbindung beim SSL-Handshake geschlossen.