TsgcWebSocketHTTPServer › Eventi › OnSSLVerifyPeer
Si attiva quando VerifyCertificate è abilitato e il client 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 il client fornisce un certificato durante l'handshake TLS, OnSSLVerifyPeer viene attivato 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 in caso di verifica fallita. Impostare Accept su True per fidarsi del certificato o False per interrompere la connessione. L'evento non viene attivato 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;