TsgcWebSocketHTTPServer › Zdarzenia › OnSSLVerifyPeer
Wywoływane, gdy VerifyCertificate jest włączone i klient przedstawia certyfikat do zaakceptowania lub odrzucenia.
property OnSSLVerifyPeer: TsgcOnSSLVerifyPeer;
// TsgcOnSSLVerifyPeer = procedure(Sender: TObject; Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean) of object
—
Gdy SSLOptions.VerifyCertificate ma wartość True i klient dostarcza certyfikat podczas uzgadniania TLS, zdarzenie OnSSLVerifyPeer jest wywoływane raz dla każdego certyfikatu w łańcuchu. Parametr Certificate udostępnia dane X.509, AOk zawiera wynik weryfikacji z warstwy TLS, ADepth to pozycja w łańcuchu (0 dla liścia), a AError to kod błędu w przypadku niepowodzenia weryfikacji. Ustawienie Accept na True powoduje zaufanie certyfikatowi, a False przerywa połączenie. Zdarzenie nie jest wywoływane, gdy klient nie przedstawia certyfikatu; aby wymusić certyfikat klienta, należy ustawić SSLOptions.VerifyCertificate_Options.FailIfNoCertificate na 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;