TsgcWebSocketClient › イベント › OnSSLVerifyPeer
VerifyCertificate が有効なときに発生し、アプリケーションがサーバー証明書を承認または拒否できます。
property OnSSLVerifyPeer: TsgcOnSSLVerifyPeer;
// TsgcOnSSLVerifyPeer = procedure(Sender: TObject; Certificate: TIdX509; AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean) of object
—
TLSOptions.VerifyCertificate が True で OpenSSL が選択された IOHandler の場合、サーバーが提示したチェーンの各証明書に対して OnSSLVerifyPeer が 1 回発生します。Certificate パラメーターは X.509 データを公開し、AOk は OpenSSL 自身の検証結果を含み、ADepth はチェーン内の位置(0 がリーフ)で、AError は検証が失敗した場合の OpenSSL エラーコードです。Accept を True に設定して証明書を信頼するか、False に設定して接続を中断します。OpenSSL の代わりに SChannel を使用する場合は、OnSChannelVerifyPeer を使用してください。
function OnSSLVerifyPeer(Sender: TObject; Certificate: TIdX509;
AOk: Boolean; ADepth, AError: Integer; var Accept: Boolean);
begin
// ... validate the certificate
if AOk then
Accept := True
else
Accept := False;
end;