TsgcWebSocketProxyServer › Eventi › OnSSLVerifyPeer
Si attiva quando VerifyCertificate è abilitato e un client downstream presenta un certificato da accettare o rifiutare.
property OnSSLVerifyPeer: TsgcOnSSLVerifyPeer;
// TsgcOnSSLVerifyPeer = procedure(Sender: TObject; Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean) of object
—
Quando SSLOptions.VerifyCertificate è True e un client downstream fornisce un certificato durante l'handshake TLS, OnSSLVerifyPeer viene generato una volta per ogni certificato nella catena. Il parametro Certificate espone i dati X.509, AOk contiene il risultato della verifica dal layer TLS, ADepth è la posizione nella catena (0 per il foglio) e AError è il codice di errore quando la verifica non riesce. Impostare Accept su True per considerare attendibile il certificato o su False per interrompere la connessione. L'evento non viene generato quando il client non presenta un certificato; per imporre un certificato client, impostare SSLOptions.VerifyCertificate_Options.FailIfNoCertificate su 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;