TsgcWebSocketServer | Weryfikacja certyfikatu serwera

Domyślnie serwer nie weryfikuje certyfikatów peer. Aby skonfigurować serwer do weryfikacji certyfikatów klientów, należy wykonać następujące kroki:

 

  1. Ustaw właściwość SSLOptions.VerifyCertificate = true

 

Obsłuż zdarzenie OnSSLVerifyPeer i zaimplementuj poniższy kod, aby otrzymywać powiadomienia za każdym razem, gdy klient łączy się z certyfikatem.

 


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;

Należy pamiętać, że zdarzenie OnSSLVerifyPeer jest wywoływane tylko wtedy, gdy klient dostarcza certyfikat; jeśli klient nie dostarcza certyfikatu, zdarzenie nie jest wyzwalane.

 

Można skonfigurować serwer tak, aby akceptował wyłącznie połączenia SSL wymagające certyfikatu. W tym celu należy ustawić następującą właściwość:

 

 

Jeśli klient nie dostarczy certyfikatu, połączenie zostanie zamknięte podczas uzgodnienia SSL.