TsgcWebSocketServer › Événements › OnSSLVerifyPeer
Se déclenche lorsque VerifyCertificate est activé et que le client présente un certificat à accepter ou à rejeter.
property OnSSLVerifyPeer: TsgcOnSSLVerifyPeer;
// TsgcOnSSLVerifyPeer = procedure(Sender: TObject; Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean) of object
—
Lorsque SSLOptions.VerifyCertificate est True et que le client fournit un certificat lors de la négociation TLS, OnSSLVerifyPeer est déclenché une fois par certificat dans la chaîne. Le paramètre Certificate expose les données X.509, AOk contient le résultat de la vérification par la couche TLS, ADepth est la position dans la chaîne (0 pour la feuille) et AError est le code d'erreur en cas d'échec de vérification. Définissez Accept sur True pour faire confiance au certificat ou sur False pour abandonner la connexion. L'événement n'est pas déclenché lorsque le client ne présente pas de certificat ; pour imposer un certificat client, définissez SSLOptions.VerifyCertificate_Options.FailIfNoCertificate sur 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;