CryptMsgVerifyCountersignatureEncodedEx

pbSignerInfoCounterSignature パラメータが pbSignerInfo パラメータ構造体の encryptedDigest フィールドの暗号化ハッシュを含んでいることを検証する。

CryptMsgVerifyCountersignatureEncodedEx hCryptProv, dwEncodingType, pbSignerInfo, cbSignerInfo, pbSignerInfoCountersignature, cbSignerInfoCountersignature, dwSignerType, pvSigner, dwFlags, pvExtra

hCryptProv : [int] このパラメータは使用されず、NULL に設定すべきである。Windows Server 2003 および Windows XP: NULL、または pbSignerInfo の encryptedDigest フィールドをハッシュするために使用する暗号プロバイダのハンドル。このパラメータのデータ型は HCRYPTPROV。hCryptProv で特定の暗号プロバイダを渡す強い理由がない限り、既定の RSA または DSS プロバイダを使用させるために NULL を渡す。
dwEncodingType : [int] 使用するエンコーディング型。現在、X509_ASN_ENCODING および PKCS_7_ASN_ENCODING のみが使用されているが、将来追加のエンコーディング型が追加される可能性がある。現在の両方のエンコーディング型には X509_ASN_ENCODING | PKCS_7_ASN_ENCODING を使用する。
pbSignerInfo : [var] 副署されるメッセージのコンテンツの署名者を含む符号化済み BLOB へのポインタ。
cbSignerInfo : [int] コンテンツの署名者用の符号化済み BLOB のバイト数。
pbSignerInfoCountersignature : [var] 副署者情報を含む符号化済み BLOB へのポインタ。
cbSignerInfoCountersignature : [int] メッセージの副署者用の符号化済み BLOB のバイト数。
dwSignerType : [int] 署名者情報を含む構造体。次の表は、定義済みの値と示される構造体を示す。
pvSigner : [intptr] dwSignerType の値に応じて、CERT_PUBLIC_KEY_INFO 構造体、証明書コンテキスト、または連鎖コンテキストへのポインタ。
dwFlags : [int] 関数の動作を変更するフラグ。これは 0 または次の値にできる。
pvExtra : [intptr] dwFlags パラメータを CMSG_VERIFY_COUNTER_SIGN_ENABLE_STRONG_FLAG に設定する場合、このパラメータ (pvExtra) は、署名強度を確認するために使用されるパラメータを含む CERT_STRONG_SIGN_PARA 構造体を指すように設定する。

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

解説

pbSignerInfoCounterSignature パラメータが pbSignerInfo パラメータ構造体の
encryptedDigest フィールドの暗号化ハッシュを含んでいることを検証する。

[戻り値]
関数が成功した場合、戻り値は 0 以外 (TRUE)。関数が失敗した場合、戻り値は 0 (FALSE)。拡張エラー情報を取得するには
GetLastError を呼び出す。GetLastError 関数で最も一般的に返されるエラーコードは次のとおり。
(以下省略)

[備考]
副署者の検証は PKCS #7 SIGNERINFO 構造体を使用して行われる。署名は pbSignerInfo の
encryptedDigest フィールドの暗号化されたハッシュを含む必要がある。副署者の発行者とシリアル番号は
pbSignerInfoCountersignature の副署者情報と一致する必要がある。pciCountersigner
から参照される唯一のフィールドは
SerialNumber、Issuer、SubjectPublicKeyInfo。SubjectPublicKeyInfo
は公開鍵にアクセスするために使用され、次に pciCountersigner からのハッシュを暗号化して pbSignerInfo
からのハッシュと比較するために使用される。

情報

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