TsgcWebSocketHTTPServer › イベント › OnSSLVerifyPeer
VerifyCertificate が有効になっており、クライアントが受け入れまたは拒否される証明書を提示したときに発生します。
property OnSSLVerifyPeer: TsgcOnSSLVerifyPeer;
// TsgcOnSSLVerifyPeer = procedure(Sender: TObject; Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean) of object
—
SSLOptions.VerifyCertificate が True で、クライアントが TLS ハンドシェイク中に証明書を提供すると、チェーン内の証明書ごとに OnSSLVerifyPeer が1回発生します。Certificate パラメータは X.509 データを公開し、AOk は TLS レイヤーからの検証結果を含み、ADepth はチェーン内の位置 (リーフは 0) を示し、AError は検証が失敗した場合のエラーコードです。証明書を信頼するには Accept を True に、接続を中断するには False に設定します。クライアントが証明書を提示しない場合、このイベントは発生しません。クライアント証明書を強制するには SSLOptions.VerifyCertificate_Options.FailIfNoCertificate を True に設定してください。
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;