TsgcWebSocketServer | Server Verify Certificate

Standardmäßig überprüft der Server keine Peer-Zertifikate. Um den Server so zu konfigurieren, dass er Client-Zertifikate überprüft, führen Sie die folgenden Schritte aus:

 

  1. Setzen Sie die Eigenschaft SSLOptions.VerifyCertificate = true

 

Behandeln Sie das Ereignis OnSSLVerifyPeer und implementieren Sie den folgenden Code, um jedes Mal benachrichtigt zu werden, wenn sich ein Client mit einem Zertifikat verbindet.

 


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;

Beachten Sie, dass das Ereignis OnSSLVerifyPeer nur aufgerufen wird, wenn der Client ein Zertifikat bereitstellt; wenn ein Client kein Zertifikat bereitstellt, wird das Ereignis nicht ausgelöst.

 

Sie können den Server so konfigurieren, dass er nur SSL-Verbindungen zulässt, die ein Zertifikat verwenden. Setzen Sie dazu die folgende Eigenschaft:

 

 

Wenn der Client kein Zertifikat bereitstellt, wird die Verbindung beim SSL-Handshake geschlossen.