CryptVerifyMessageHash 関数 (wincrypt.h)
CryptVerifyMessageHash 関数は、指定されたコンテンツのハッシュを検証します。
構文
BOOL CryptVerifyMessageHash(
[in] PCRYPT_HASH_MESSAGE_PARA pHashPara,
[in] BYTE *pbHashedBlob,
[in] DWORD cbHashedBlob,
[out] BYTE *pbToBeHashed,
[in, out] DWORD *pcbToBeHashed,
[out, optional] BYTE *pbComputedHash,
[in, out, optional] DWORD *pcbComputedHash
);
パラメーター
[in] pHashPara
ハッシュ パラメーターを含む CRYPT_HASH_MESSAGE_PARA 構造体へのポインター。
[in] pbHashedBlob
元のコンテンツとそのハッシュを含むバッファーへのポインター。
[in] cbHashedBlob
元のハッシュ バッファーのサイズ (バイト単位)。
[out] pbToBeHashed
ハッシュされた元のコンテンツを受け取るバッファーへのポインター。
このパラメーターは、追加の処理に元のコンテンツが必要ない場合や、メモリ割り当てのために元のコンテンツのサイズを設定する場合は NULL にすることができます 。 詳細については、「不明な 長さのデータの取得」を参照してください。
[in, out] pcbToBeHashed
pbToBeHashed バッファーのサイズをバイト単位で指定する DWORD へのポインター。 関数が戻るときに、この変数には pbToBeHashed にコピーされた元のコンテンツのサイズ (バイト単位) が含まれます。 このパラメーターが NULL の場合、元のコンテンツは返されません。
[out, optional] pbComputedHash
計算されたハッシュを受け取るバッファーへのポインター。 このパラメーターは、作成されたハッシュが追加の処理に必要ない場合や、メモリ割り当て目的で元のコンテンツのサイズを設定する場合は NULL にすることができます 。 詳細については、「不明な 長さのデータの取得」を参照してください。
[in, out, optional] pcbComputedHash
pbComputedHash バッファーのサイズをバイト単位で指定する DWORD へのポインター。 関数が戻るときに、この変数には、作成されたハッシュのサイズ (バイト単位) が含まれます。 このパラメーターが NULL の場合、ハッシュは返されません。
戻り値
関数が成功した場合、戻り値は 0 以外 (TRUE) になります。
関数が失敗した場合、戻り値は 0 (FALSE) になります。
拡張エラー情報については、 GetLastError を呼び出します。
GetLastError 関数によって最も一般的に返されるエラー コードを次に示します。
リターン コード | 説明 |
---|---|
|
ハッシュされた暗号化メッセージではありません。 |
|
メッセージ エンコードの種類が無効です。 現在、PKCS_7_ASN_ENCODINGのみがサポートされています。 *pHashPara の cbSize が無効です。 |
|
pbToBeHashed パラメーターで指定されたバッファーが、返されたデータを保持するのに十分な大きさでない場合、関数はERROR_MORE_DATA コードを設定し、必要なバッファー サイズをバイト単位で pcbToBeHashed が指す変数に格納します。 |
関数が失敗した場合、GetLastError は抽象構文表記 1 (ASN.1) エンコード/デコード エラーを返す可能性があります。 これらのエラーの詳細については、「 ASN.1 エンコード/デコードの戻り値」を参照してください。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Crypt32.lib |
[DLL] | Crypt32.dll |