指定されたキーから対称キー暗号化アルゴリズムで使用するキーオブジェクトを作成する。
BCryptGenerateSymmetricKey hAlgorithm, phKey, pbKeyObject, cbKeyObject, pbSecret, cbSecret, dwFlags
hAlgorithm : [int] BCryptOpenAlgorithmProvider 関数で作成されたアルゴリズムプロバイダのハンドル。プロバイダ作成時に指定されたアルゴリズムは対称キー暗号化をサポートしていなければならない。 phKey : [var] キーのハンドルを受け取る BCRYPT_KEY_HANDLE へのポインタ。このハンドルは BCryptEncrypt のようにキーを必要とする後続の関数で使用される。このハンドルが不要になったら、BCryptDestroyKey 関数に渡して解放しなければならない。 pbKeyObject : [var] キーオブジェクトを受け取るバッファへのポインタ。cbKeyObject パラメータがこのバッファのサイズを示す。必要なバッファサイズは、BCryptGetProperty 関数を呼び出して BCRYPT_OBJECT_LENGTH プロパティを取得することで得られる。これは指定したアルゴリズムにおけるキーオブジェクトのサイズを返す。このメモリは phKey キーハンドルが破棄された後にのみ解放できる。このパラメータの値が NULL で cbKeyObject パラメータの値が 0 の場合、キーオブジェクトのメモリはこの関数によって確保および解放される。Windows 7: このメモリ管理機能は Windows 7 以降で使用可能。 cbKeyObject : [int] pbKeyObject バッファのバイト単位のサイズ。このパラメータの値が 0 で pbKeyObject パラメータの値が NULL の場合、キーオブジェクトのメモリはこの関数によって確保および解放される。Windows 7: このメモリ管理機能は Windows 7 以降で使用可能。 pbSecret : [var] キーオブジェクトを作成する元となるキーを格納するバッファへのポインタ。cbSecret パラメータがこのバッファのサイズを示す。これは通常、パスワードのハッシュ、あるいは他の再現可能なデータである。渡されたデータが対象キーサイズを超える場合、データは切り詰められ、超過部分は無視される。注: アプリケーションは対象キーで必要な正確なバイト数を渡すことを強く推奨する。 cbSecret : [int] pbSecret バッファのバイト単位のサイズ。 dwFlags : [int] 関数の動作を変更するフラグの集合。現在定義されているフラグはないため、このパラメータには 0 を指定する。
(プラグイン / モジュール : bcrypt.dll)
指定されたキーから対称キー暗号化アルゴリズムで使用するキーオブジェクトを作成する。 [戻り値] 関数の成否を示すステータスコードを返す。 返される可能性のあるコードには次のものが含まれるが、これらに限られない。 (以下省略) [備考] プロバイダがサポートするプロセッサモードに応じて、BCryptGenerateSymmetricKey はユーザーモードまたはカーネルモードのいずれからでも呼び出せる。カーネルモードの呼び出し元は PASSIVE_LEVEL IRQL または DISPATCH_LEVEL IRQL のいずれかで実行できる。現在の IRQL レベルが DISPATCH_LEVEL である場合、hAlgorithm パラメータに渡すハンドルは BCRYPT_PROV_DISPATCH フラグを指定してオープンされたものでなければならず、BCryptGenerateSymmetricKey 関数に渡すポインタはページング不可(あるいはロックされた)メモリを参照しなければならない。この関数をカーネルモードで呼び出すには、Driver Development Kit (DDK) に含まれる Cng.lib を使用する。Windows Server 2008 および Windows Vista: この関数をカーネルモードで呼び出すには Ksecdd.lib を使用する。
| プラグイン / モジュール | bcrypt.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の bcrypt.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_bcrypt_gen2.hs |