署名済みメッセージの署名を検証する。
CryptVerifyMessageSignature pVerifyPara, dwSignerIndex, pbSignedBlob, cbSignedBlob, pbDecoded, pcbDecoded, ppSignerCert
pVerifyPara : [var] 検証パラメータを含む CRYPT_VERIFY_MESSAGE_PARA 構造体へのポインタ。 dwSignerIndex : [int] 目的の署名のインデックス。複数の署名がある場合がある。CryptVerifyMessageSignature を繰り返し呼び出し、毎回 dwSignerIndex を増分できる。最初の署名者、または署名者が 1 人しかいない場合、このパラメータを 0 に設定する。関数が FALSE を返し、GetLastError が CRYPT_E_NO_SIGNER を返す場合、前回の呼び出しでメッセージの最後の署名者を処理したことを示す。 pbSignedBlob : [var] 署名済みメッセージを含むバッファへのポインタ。 cbSignedBlob : [int] 署名済みメッセージバッファのサイズ (バイト単位)。 pbDecoded : [var] 復号されたメッセージを受け取るバッファへのポインタ。 pcbDecoded : [var] pbDecoded バッファのサイズ (バイト単位) を指定する DWORD 値へのポインタ。関数が戻ると、この DWORD には復号されたメッセージのサイズ (バイト単位) が含まれる。このパラメータが NULL の場合、復号されたメッセージは返されない。 ppSignerCert : [var] 署名者の証明書を受け取る CERT_CONTEXT 構造体へのポインタのアドレス。この構造体の使用が終了したら、このポインタを CertFreeCertificateContext 関数に渡して解放する。署名者の証明書が不要な場合、このパラメータは NULL にできる。
(プラグイン / モジュール : crypt32.dll)
署名済みメッセージの署名を検証する。 [戻り値] 関数が成功した場合、関数は 0 以外を返す。これは必ずしも署名が検証されたことを意味しない。分離メッセージの場合、pcbDecoded が指す変数は 0 を含む。この場合、この関数は 0 以外を返すが、署名は検証されない。分離メッセージの署名を検証するには、CryptVerifyDetachedMessageSignature 関数を使用する。関数が失敗した場合は 0 を返す。拡張エラー情報を取得するには GetLastError を呼び出す。次の表に、GetLastError 関数で最も一般的に返されるエラーコードを示す。 (以下省略) [備考] 検証済みの署名者とメッセージについて、ppSignerCert は署名者の CERT_CONTEXT で更新される。これは CertFreeCertificateContext を呼び出して解放しなければならない。そうでない場合、ppSignerCert は NULL に設定される。証明書と CRL のみを含むメッセージについては、pcbDecoded は NULL に設定される。
| プラグイン / モジュール | crypt32.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の crypt32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_crypt32_gen2.hs |