TsgcWebSocketClientZdarzenia › OnSChannelVerifyPeer

OnSChannelVerifyPeer Zdarzenie

Wywoływane, gdy SChannel jest IOHandlerem TLS, aby aplikacja mogła zweryfikować certyfikat serwera.

Składnia

property OnSChannelVerifyPeer: TsgcSChannelOnVerifyPeerEvent;
// TsgcSChannelOnVerifyPeerEvent = procedure(Sender: TObject; const aContext: TsgcSChannelContext; aError: TsgcSChannelVerifyError; var Accept: Boolean) of object

Wartość domyślna

Uwagi

Gdy TLSOptions.IOHandler ma wartość iohSChannel, zdarzenie to jest wywoływane podczas uzgadniania TLS, umożliwiając aplikacji sprawdzenie certyfikatu serwera i podjęcie decyzji o akceptacji połączenia. Parametr aContext udostępnia łańcuch certyfikatów i dane kontekstu SChannel; parametr aError informuje o wyniku walidacji zwróconym przez SChannel (na przykład: wygasły, niezaufany główny certyfikat, niezgodność nazwy). Należy ustawić Accept na True, aby kontynuować uzgadnianie, lub na False, aby przerwać połączenie. W przypadku korzystania z OpenSSL zamiast SChannel należy użyć zdarzenia OnSSLVerifyPeer.

To zdarzenie jest wywoływane tylko wtedy, gdy TLSOptions.VerifyCertificate ma wartość True. Domyślnie ma wartość False, więc klient pozostawiony przy ustawieniach domyślnych nigdy go nie wywołuje i akceptuje dowolny certyfikat serwera bez weryfikacji; samo przypisanie zdarzenia OnSChannelVerifyPeer nie włącza weryfikacji.

Przykład


procedure OnSChannelVerifyPeer(Sender: TObject; const aContext: TsgcSChannelContext;
  aError: TsgcSChannelVerifyError; var Accept: Boolean);
begin
  // accept the certificate only if SChannel reports no validation error
  Accept := aError = schvOK;
end;

Powrót do Zdarzeń