TsgcWebSocketHTTPServer › Events › OnSSLVerifyPeer
Wird ausgelöst, wenn VerifyCertificate aktiviert ist und der Client ein Zertifikat zur Annahme oder Ablehnung vorlegt.
property OnSSLVerifyPeer: TsgcOnSSLVerifyPeer;
// TsgcOnSSLVerifyPeer = procedure(Sender: TObject; Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean) of object
—
Wenn SSLOptions.VerifyCertificate True ist und der Client während des TLS-Handshakes ein Zertifikat bereitstellt, wird OnSSLVerifyPeer einmal pro Zertifikat in der Kette ausgelöst. Der Parameter Certificate stellt die X.509-Daten bereit, AOk enthält das Verifizierungsergebnis der TLS-Schicht, ADepth ist die Position in der Kette (0 für das Blatt) und AError ist der Fehlercode, wenn die Verifizierung fehlschlägt. Setzen Sie Accept auf True, um dem Zertifikat zu vertrauen, oder auf False, um die Verbindung abzubrechen. Das Ereignis wird nicht ausgelöst, wenn der Client kein Zertifikat vorlegt; um ein Client-Zertifikat zu erzwingen, setzen Sie SSLOptions.VerifyCertificate_Options.FailIfNoCertificate auf True.
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;