TsgcWebSocketHTTPServer › Gebeurtenissen › OnSSLVerifyPeer
Wordt geactiveerd wanneer VerifyCertificate ingeschakeld is en de client een certificaat presenteert dat moet worden geaccepteerd of geweigerd.
__property TsgcOnSSLVerifyPeer OnSSLVerifyPeer;
// typedef void __fastcall (__closure *TsgcOnSSLVerifyPeer)(TObject * Sender, TIdX509 * Certificate, bool AOk, int ADepth, int AError, bool &Accept);
—
Wanneer SSLOptions.VerifyCertificate True is en de client een certificaat levert tijdens de TLS-handshake, wordt OnSSLVerifyPeer eenmaal per certificaat in de keten gegenereerd. De parameter Certificate geeft de X.509-gegevens vrij, AOk bevat het verificatieresultaat van de TLS-laag, ADepth is de positie in de keten (0 voor het blad) en AError is de foutcode wanneer verificatie mislukt. Stel Accept in op True om het certificaat te vertrouwen of False om de verbinding af te breken. De gebeurtenis wordt niet geactiveerd wanneer de client geen certificaat presenteert; om een clientcertificaat af te dwingen, stelt u SSLOptions.VerifyCertificate_Options.FailIfNoCertificate in op True.
void OnSSLVerifyPeer(TObject *Sender, TIdX509 *Certificate, bool AOk,
int ADepth, int AError, bool &Accept)
{
// ... validate the certificate
if (Certificate_OK)
Accept = true;
else
Accept = false;
}