Win32 API 日本語リファレンス
ホーム › Security.Cryptography › BCryptDeriveKeyCapiFn

BCryptDeriveKeyCapiFn

コールバック

シグネチャ

NTSTATUS BCryptDeriveKeyCapiFn(
    BCRYPT_HASH_HANDLE hHash,
    BCRYPT_ALG_HANDLE hTargetAlg,
    BYTE* pbDerivedKey,
    DWORD cbDerivedKey,
    DWORD dwFlags
);

パラメーター

フィールド型説明
hHashBCRYPT_HASH_HANDLEハッシュオブジェクトのハンドルです。このハンドルは BCryptCreateHash 関数を呼び出して取得します。ハンドルの使用を終えたら、BCryptDestroyHash 関数を呼び出して解放する必要があります。
hTargetAlgBCRYPT_ALG_HANDLE

アルゴリズムオブジェクトのハンドルです。これには、CryptDeriveKey 関数と互換性のある ALG_ID 値を指定できます。

メモ CAPI および鍵の拡張には制限があるため、512 ビットを超える出力を生成するハッシュアルゴリズムは使用できません。
pbDerivedKeyBYTE*派生した鍵を受け取るバッファーへのポインターです。
cbDerivedKeyDWORDpbDerivedKey パラメーターが指す派生鍵のサイズ (文字単位) です。
dwFlagsDWORDこのパラメーターは予約されており、0 に設定する必要があります。

公式ドキュメント

BCryptDeriveKeyCapi 関数は、ハッシュ値から鍵を派生させます。

この関数は、従来の Cryptography API (CAPI) ベースのアプリケーションを Cryptography API: Next Generation (CNG) へ移行する作業を支援するヘルパー関数として提供されています。BCryptDeriveKeyCapi 関数は、CAPI の CryptDeriveKey 関数と互換性のある方法で鍵の派生を行います。

戻り値

関数の成功または失敗を示すステータスコードを返します。

返される可能性のあるコードには、次のものがあります (これらに限定されません)。

戻り値 説明
STATUS_SUCCESS
関数は成功しました。
STATUS_INVALID_HANDLE
hHash パラメーターまたは hTargetAlg パラメーターのハンドルが無効です。
STATUS_INVALID_PARAMETER
cbDerivedKey パラメーターの値が、ハッシュ関数の出力サイズの 2 倍を超えています。
STATUS_NO_MEMORY
メモリの割り当てに失敗しました。

解説(Remarks)

この関数は、CAPI の CryptDeriveKey 関数が持つ PK salt 機能をサポートしません。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)