TsgcWebSocketProxyServer › Events › OnSSLVerifyPeer
Wird ausgelöst, wenn VerifyCertificate aktiviert ist und ein nachgelagerter Client ein Zertifikat vorlegt, das akzeptiert oder abgelehnt werden soll.
property OnSSLVerifyPeer: TsgcOnSSLVerifyPeer;
// TsgcOnSSLVerifyPeer = procedure(Sender: TObject; Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean) of object
—
Wenn SSLOptions.VerifyCertificate auf True gesetzt ist und ein nachgelagerter 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 Leaf-Zertifikat) und AError ist der Fehlercode, wenn die Verifizierung fehlschlägt. Setzen Sie Accept auf True, um dem Zertifikat zu vertrauen, oder False, um die Verbindung abzubrechen. Das Ereignis wird nicht ausgelöst, wenn der Client kein Zertifikat präsentiert; 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;