TsgcWebSocketProxyServer › Zdarzenia › OnSSLVerifyPeer
Wywoływane, gdy właściwość VerifyCertificate jest włączona i klient podrzędny 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 downstream dostarcza certyfikat podczas handshake'u 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 oznacza zaufanie do certyfikatu, False przerywa połączenie. Zdarzenie nie jest wywoływane, gdy klient nie dostarcza certyfikatu; aby wymagać certyfikatu 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;