CertVerifyRevocation

rgpvContext 配列に含まれる証明書の失効状態を確認する。リスト内のいずれかの証明書が失効していると判定された時点で、それ以上の確認は行われない。

CertVerifyRevocation dwEncodingType, dwRevType, cContext, rgpvContext, dwFlags, pRevPara, pRevStatus

dwEncodingType : [int] 使用するエンコーディング種別を指定する。現在使用されているのは X509_ASN_ENCODING と PKCS_7_ASN_ENCODING のみであるが、将来エンコーディング種別が追加される可能性がある。現状のどちらのエンコーディングでも、X509_ASN_ENCODING | PKCS_7_ASN_ENCODING を使用する。
dwRevType : [int] rgpvContext で渡されるコンテキスト構造体の種類を示す。現在定義されているのは CERT_CONTEXT_REVOCATION_TYPE (証明書の失効) のみである。
cContext : [int] rgpvContext 配列の要素数。
rgpvContext : [var] dwRevType が CERT_CONTEXT_REVOCATION_TYPE の場合、rgpvContext は CERT_CONTEXT 構造体へのポインターの配列となる。これらのコンテキストには、インストール済みまたは登録済みの失効 DLL が失効サーバーを特定するために十分な情報が含まれていなければならない。この情報は通常、IETF の PKIX Part 1 で定義されている CRLDistributionsPoints 拡張などの拡張で伝達される。
dwFlags : [int] 特殊な処理が必要であるかを示す。このパラメーターには次のフラグのいずれかを指定できる。
pRevPara : [var] 発行者の検索を補助するために任意で設定する。詳細は CERT_REVOCATION_PARA 構造体を参照。
pRevStatus : [var] CertVerifyRevocation を呼び出す前に、pRevStatus が指す CERT_REVOCATION_STATUS の cbSize メンバーだけを設定すればよい。関数が FALSE を返した場合、この構造体のメンバーにはエラー状態情報が格納される。詳細は CERT_REVOCATION_STATUS を参照。失効検証で問題が発生した場合の pRevStatus の更新方法については「解説」を参照。

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

解説

rgpvContext
配列に含まれる証明書の失効状態を確認する。リスト内のいずれかの証明書が失効していると判定された時点で、それ以上の確認は行われない。

[戻り値]
関数が全コンテキストを正常に確認し、いずれも失効していなければ TRUE を返す。失敗した場合は FALSE
を返し、CERT_REVOCATION_STATUS に記載のとおり pRevStatus
が指す構造体を更新する。いずれかのコンテキストの失効ハンドラーがエラーで FALSE を返した場合、pRevStatus が指す構造体の
dwError メンバーにハンドラーが遭遇したエラーが設定される。GetLastError は
CERT_REVOCATION_STATUS 構造体の dwError メンバーと同じエラーコードを返す。GetLastError
は次の値のいずれかを返すことがある。
(以下省略)

[備考]
失効検証で問題が発生した場合の pRevStatus の更新方法を次の例で示す。cContext が 4
の場合を考える。CertVerifyRevocation が rgpvContext[0] と rgpvContext[1]
を失効していないと検証できたが rgpvContext[2] をチェックできない場合、pRevStatus メンバー dwIndex は
2 に設定され、インデックス 2 のコンテキストに問題があることを示す。また pRevStatus の dwError メンバーは
CRYPT_E_NO_REVOCATION_CHECK に設定され、関数は FALSE を返す。rgpvContext[2]
が失効していると判明した場合、pRevStatus の dwIndex メンバーは 2、dwError メンバーは
CRYPT_E_REVOKED、dwReason も更新され、FALSE が返される。いずれの場合も、rgpvContext[0] と
rgpvContext[1] は失効していないことが確認され、rgpvContext[2]
は最後に確認された配列インデックスであり、rgpvContext[3] はまったく確認されていない。

情報

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