VERIFYSERVERCERT
コールバックシグネチャ
BOOLEAN VERIFYSERVERCERT(
LDAP* Connection,
CERT_CONTEXT** pServerCert
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| Connection | LDAP* | セッションハンドルです。 |
| pServerCert | CERT_CONTEXT** | - ppServerCertCERT_CONTEXT で表されるセッションハンドルへのポインターへのポインターです。 |
公式ドキュメント
VERIFYSERVERCERT は、接続先サーバーの証明書チェーンをクライアントが評価できるようにするコールバック関数です。
戻り値
関数が成功した場合 (クライアントがサーバー証明書を承認した場合)、戻り値は TRUE です。
関数が失敗した場合、戻り値は FALSE となり、セキュア接続は切断されます。
解説(Remarks)
VERIFYSERVERCERT コールバック関数を使用すると、クライアントはサーバーの証明書を検証できます。クライアントはコールバックを登録し、そのコールバックはセキュア接続の確立後に呼び出されます。サーバーの証明書コンテキストがコールバック関数に渡され、そこで受け入れ可能かどうかを検証できます。このコールバックを登録するには、CertRoutine にコールバック関数のアドレスを指定して ldap_set_option を呼び出します。
conn, LDAP_OPT_SERVER_CERTIFICATE, &CertRoutine
サーバーは、セキュア接続が確立された後に VERIFYSERVERCERT を呼び出します。クライアントが検査できるように、サーバーの証明書コンテキストが提供されます。
一部の古い SDK では VERIFYSERVERCERT が PCCERT_CONTEXT を受け取るものとして宣言されていますが、実際には PCCERT_CONTEXT* を受け取ります。
アプリケーションは ppServerCert パラメーターを次のように使用してください: PCCERT_CONTEXT* ppServerCert = (PCCERT_CONTEXT*)pServerCert;
ppServerCert を使用して証明書を検証できます。この関数から戻る前に CertFreeCertificateContext を呼び出す必要があります。この関数の呼び出しは、次のように行います:
CertFreeCertificateContext(*ppServerCert);
または、代わりに次のようにします:
CertFreeCertificateContext(*((PCCERT_CONTEXT*)pServerCert));
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)