CertVerifyCertificateChainPolicy

証明書チェーンが有効であるかを検証する。指定された有効性ポリシー条件への準拠も含めて確認する。

CertVerifyCertificateChainPolicy pszPolicyOID, pChainContext, pPolicyPara, pPolicyStatus

pszPolicyOID : [str] 現在事前定義されているチェーン検証ポリシー構造を次の表に示す。
pChainContext : [var] 検証対象のチェーンを含む CERT_CHAIN_CONTEXT 構造体へのポインター。
pPolicyPara : [var] チェーンに対するポリシー検証条件を提供する CERT_CHAIN_POLICY_PARA 構造体へのポインター。この構造体の dwFlags メンバーを設定することで既定のポリシーチェック動作を変更できる。
pPolicyStatus : [var] チェーンの状態情報を返す CERT_CHAIN_POLICY_STATUS 構造体へのポインター。この構造体の pvExtraPolicyStatus メンバーには OID 固有の追加ステータスを返すことができる。

(プラグイン / モジュール : crypt32.dll)

解説

証明書チェーンが有効であるかを検証する。指定された有効性ポリシー条件への準拠も含めて確認する。

[戻り値]

戻り値は、関数がポリシーチェックを実行できたかどうかを示すものであり、ポリシーチェックの結果が合格か不合格かを示すものではない。指定のポリシーについてチェーンを検証できた場合、TRUE
が返され、pPolicyStatus の dwError メンバーが更新される。dwError が 0 (ERROR_SUCCESS
または S_OK) であれば、チェーンは指定のポリシーを満たすことを示す。チェーンを有効と判定できなかった場合、戻り値は TRUE
となり、実際のエラーを知るには pPolicyStatus パラメーターを確認する必要がある。FALSE
はそもそもポリシーをチェックできなかったことを示す。

[備考]
pPolicyStatus が指す CERT_CHAIN_POLICY_STATUS 構造体の dwError
メンバーは、単一のチェーン要素、単純チェーン、またはチェーンコンテキスト全体に適用されうる。dwError
がチェーンコンテキスト全体に適用される場合、CERT_CHAIN_POLICY_STATUS 構造体の lChainIndex と
lElementIndex のどちらも -1 に設定される。dwError が単純チェーン全体に適用される場合、lElementIndex
は -1、lChainIndex はエラーを含む最初のチェーンのインデックスに設定される。dwError
が単一証明書要素に適用される場合、lChainIndex と lElementIndex
はエラーを持つ最初の証明書を指す。証明書要素を取得するには次の構文を使用する:
pChainContext->rgpChain[lChainIndex]->rgpElement[lElementIndex];
証明書失効チェックを有効化して実行するには、CertGetCertificateChain
関数を使用する。CertVerifyCertificateChainPolicy
関数は、証明書チェーン内の証明書が失効しているかどうかのチェックは行わない。

情報

プラグイン / モジュールcrypt32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の crypt32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_crypt32_gen2.hs