CryptSetHashParam 関数 (wincrypt.h)
大事な この API は非推奨です。 新規および既存のソフトウェアでは 、暗号化次世代 API の 使用を開始する必要があります。Microsoft は、今後のリリースでこの API を削除する可能性があります。
構文
BOOL CryptSetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
パラメーター
[in] hHash
パラメーターを設定するハッシュ オブジェクトへのハンドル。
[in] dwParam
このパラメーターには、次の値のいずれかを指定できます。
値 | 意味 |
---|---|
|
暗号化ハッシュ アルゴリズムと、使用する内部文字列と外部文字列を指定する HMAC_INFO構造体への ポインター。 |
|
ハッシュ オブジェクトに直接配置するハッシュ値を含むバイト配列。 この値を設定する前に、 CryptGetHashParam 関数を使用してHP_HASHSIZE値を読み取ることによって、ハッシュ値のサイズを決定する必要があります。
一部 の暗号化サービス プロバイダー (CSP) では、この機能がサポートされていません。 |
メモ 一部の CSP の種類では、この関数を使用して設定できる値を追加できます。
[in] pbData
値データ バッファー。 CryptSetHashParam を呼び出す前に、このバッファーに値データを配置します。 このデータの形式は、値番号によって異なります。
[in] dwFlags
このパラメーターは将来使用するために予約されており、0 に設定する必要があります。
戻り値
関数が成功した場合、関数は TRUE を返します。
関数が失敗すると、 FALSE が返されます。 拡張エラー情報については、 GetLastError を呼び出します。
"NTE" の前に表示されるエラー コードは、使用している特定の CSP によって生成されます。 考えられるエラー コードの一部を次に示します。
リターン コード | 説明 |
---|---|
|
パラメーターの 1 つは、無効なハンドルを指定します。 |
|
現在、CSP コンテキストは別の プロセスで使用されています。 |
|
パラメーターの 1 つに無効な値が含まれています。 これは、ほとんどの場合、無効なポインターです。 |
|
dwFlags パラメーターが 0 以外であるか、pbData バッファーに無効な値が含まれています。 |
|
hHash パラメーターで指定されたハッシュ オブジェクトが無効です。 |
|
dwParam パラメーターは、不明な値を指定します。 |
|
hKey キーの作成時に指定された CSP コンテキストが見つかりません。 |
|
関数が予期しない方法で失敗しました。 |
注釈
場合によっては、他の場所で生成されたハッシュ値に署名する必要があります。 これは、次の一連の操作を使用して行うことができます。
- CryptCreateHash を使用してハッシュ オブジェクトを作成します。
- HP_HASHVAL値を設定します。
- CryptSignHash を使用してハッシュ値に署名し、デジタル署名ブロックを取得します。
- CryptDestroyHash を使用してハッシュ オブジェクトを破棄します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | wincrypt.h |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |