CertGetCertificateChain

末端証明書から出発し、可能であれば信頼されたルート証明書まで遡る証明書チェーンコンテキストを構築する。

CertGetCertificateChain hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, ppChainContext

hChainEngine : [intptr] 使用するチェーンエンジン (名前空間およびキャッシュ) のハンドル。hChainEngine が NULL の場合、既定のチェーンエンジン HCCE_CURRENT_USER が使用される。このパラメーターに HCCE_LOCAL_MACHINE を指定することもできる。
pCertContext : [var] チェーンを構築する対象となる末端証明書 (エンド証明書) の CERT_CONTEXT へのポインター。この証明書コンテキストは最初の単純チェーンの 0 番目の要素になる。
pTime : [var] チェーンを検証する対象の時刻を示す FILETIME 変数へのポインター。なお、この時刻は信頼リスト・失効・ルートストアの確認には影響しない。このパラメーターに NULL を渡すと、現在のシステム時刻が使用される。特定の証明書を信頼済みルートとして信頼するかは、現在のルートストアの状態に基づくもので、このパラメーターで渡した時刻におけるルートストアの状態ではない。失効については、証明書失効リスト (CRL) 自体が現在時刻で有効でなければならない。このパラメーターの値は、CRL に列挙された証明書が失効しているかどうかの判定に用いられる。
hAdditionalStore : [int] サポート用の証明書および証明書信頼リスト (CTL) を検索する追加ストアへのハンドル。追加ストアを検索しない場合は NULL を指定できる。
pChainPara : [var] チェーン構築パラメーターを含む CERT_CHAIN_PARA 構造体へのポインター。
dwFlags : [int] 特殊な処理を指定するフラグ値。このパラメーターには以下のフラグを 1 つ以上組み合わせて指定できる。
pvReserved : [intptr] このパラメーターは予約されており、NULL でなければならない。
ppChainContext : [var] 作成されたチェーンコンテキストへのポインターのアドレス。チェーンコンテキストの使用を終えたら、CertFreeCertificateChain 関数を呼び出してチェーンを解放する。

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

解説

末端証明書から出発し、可能であれば信頼されたルート証明書まで遡る証明書チェーンコンテキストを構築する。

[戻り値]
関数が成功した場合、0 以外 (TRUE) を返す。関数が失敗した場合、0 (FALSE) を返す。拡張エラー情報を取得するには
GetLastError を呼び出す。

[備考]
アプリケーションが証明書チェーンを要求すると、返される構造は CERT_CHAIN_CONTEXT の形式となる。このコンテキストは
CERT_SIMPLE_CHAIN
構造体の配列を含み、各単純チェーンは末端証明書から自己署名証明書までをつなぐ。チェーンコンテキストは信頼リストを介して単純チェーンを接続する。各単純チェーンには証明書の連鎖、そのチェーンに関する要約された信頼情報、およびチェーン内の各証明書要素に関する信頼情報が含まれる。
(以下省略)

情報

プラグイン / モジュール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