CryptMsgVerifyCountersignatureEncoded

SignerInfo 構造体 (PKCS で定義) の観点から副署を検証する。

CryptMsgVerifyCountersignatureEncoded hCryptProv, dwEncodingType, pbSignerInfo, cbSignerInfo, pbSignerInfoCountersignature, cbSignerInfoCountersignature, pciCountersigner

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 のバイト数。
pciCountersigner : [var] 副署者の発行者とシリアル番号を含む CERT_INFO へのポインタ。詳細は「備考」を参照。

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

解説

SignerInfo 構造体 (PKCS で定義) の観点から副署を検証する。

[戻り値]
関数が成功した場合、戻り値は 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