BCryptDeriveKeyCapi 関数 (bcrypt.h)
BCryptDeriveKeyCapi 関数は、ハッシュ値からキーを派生させます。
この関数は、従来の Cryptography API (CAPI) ベースのアプリケーションを移行して Cryptography API: Next Generation (CNG) を使用するためのヘルパー関数として提供されます。 BCryptDeriveKeyCapi 関数は、CAPI CryptDeriveKey 関数と互換性のある方法でキーの派生を実行します。
構文
NTSTATUS BCryptDeriveKeyCapi(
[in] BCRYPT_HASH_HANDLE hHash,
[in, optional] BCRYPT_ALG_HANDLE hTargetAlg,
[out] PUCHAR pbDerivedKey,
[in] ULONG cbDerivedKey,
[in] ULONG dwFlags
);
パラメーター
[in] hHash
ハッシュ オブジェクトのハンドル。 ハンドルは、 BCryptCreateHash 関数を呼び出すことによって取得されます。 ハンドルの使用が完了したら、 BCryptDestroyHash 関数を呼び出してハンドルを解放する必要があります。
[in, optional] hTargetAlg
アルゴリズム オブジェクトのハンドル。 CryptDeriveKey 関数と互換性のあるALG_ID値を指定できます。
[out] pbDerivedKey
派生キーを受け取るバッファーへのポインター。
[in] cbDerivedKey
pbDerivedKey パラメーターが指す派生キーのサイズ (文字数)。
[in] dwFlags
このパラメーターは予約済みであり、0 に設定する必要があります。
戻り値
関数の成功または失敗を示す状態コードを返します。
可能なリターン コードには、次のものが含まれますが、これらに限定されません。
リターン コード | 説明 |
---|---|
|
関数は成功しました。 |
|
hHash または hTargetAlg パラメーターのハンドルが無効です。 |
|
cbDerivedKey パラメーターの値が、ハッシュ関数の出力サイズの 2 倍を超えています。 |
|
メモリ割り当てエラーが発生しました。 |
注釈
この関数は、CAPI CryptDeriveKey 関数の PK salt 機能をサポートしていません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | bcrypt.h |
Library | Bcrypt.lib |
[DLL] | Bcrypt.dll |