TsgcWebSocketClientEreignisse › OnSChannelVerifyPeer

OnSChannelVerifyPeer Ereignis

Wird ausgelöst, wenn SChannel der TLS-IOHandler ist, sodass die Anwendung das Serverzertifikat überprüfen kann.

Syntax

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

Standardwert

Hinweise

Wenn TLSOptions.IOHandler iohSChannel ist, wird dieses Ereignis während des TLS-Handshakes ausgelöst, sodass die Anwendung das Serverzertifikat inspizieren und entscheiden kann, ob die Verbindung angenommen werden soll. Der Parameter aContext stellt die Zertifikatskette und SChannel-Kontextdaten bereit; aError meldet das von SChannel zurückgegebene Validierungsergebnis (zum Beispiel abgelaufen, nicht vertrauenswürdige Root, Namensabweichung). Setzen Sie Accept auf True, um den Handshake fortzusetzen, oder auf False, um die Verbindung abzubrechen. Wenn statt SChannel OpenSSL verwendet wird, verwenden Sie OnSSLVerifyPeer.

Dieses Ereignis wird nur ausgelöst, wenn TLSOptions.VerifyCertificate auf True gesetzt ist. Es ist standardmäßig False, sodass ein Client, der bei den Standardeinstellungen belassen wird, es nie auslöst und jedes Serverzertifikat ohne Validierung akzeptiert; das alleinige Zuweisen von OnSChannelVerifyPeer aktiviert die Validierung nicht.

Beispiel


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;

Zurück zu Ereignissen