BCryptSignHash

ハッシュ値の署名を作成する。 (BCryptSignHash)

BCryptSignHash hKey, pPaddingInfo, pbInput, cbInput, pbOutput, cbOutput, pcbResult, dwFlags

hKey : [int] ハッシュへの署名に使用するキーのハンドル。
pPaddingInfo : [intptr] パディング情報を格納する構造体へのポインタ。このパラメータが指す構造体の実際の型は dwFlags パラメータの値に依存する。このパラメータは非対称キーでのみ使用され、それ以外の場合は NULL でなければならない。
pbInput : [var] 署名するハッシュ値を格納したバッファへのポインタ。cbInput パラメータがこのバッファのサイズを示す。
cbInput : [int] 署名する pbInput バッファ内のバイト数。
pbOutput : [var] この関数によって生成された署名を受け取るバッファのアドレス。cbOutput パラメータがこのバッファのサイズを示す。このパラメータが NULL の場合、関数は署名に必要なサイズを計算し、そのサイズを pcbResult パラメータが指す位置に返す。
cbOutput : [int] pbOutput バッファのバイト単位のサイズ。pbOutput パラメータが NULL の場合、このパラメータは無視される。
pcbResult : [var] pbOutput バッファにコピーされたバイト数を受け取る ULONG 変数へのポインタ。pbOutput が NULL の場合、ここに署名に必要なサイズ(バイト単位)を受け取る。
dwFlags : [int] 関数の動作を変更するフラグの集合。指定可能なフラグは hKey パラメータで指定するキーの種類に依存する。

(プラグイン / モジュール : bcrypt.dll)

解説

ハッシュ値の署名を作成する。 (BCryptSignHash)

[戻り値]
関数の成否を示すステータスコードを返す。
返される可能性のあるコードには次のものが含まれるが、これらに限られない。
(以下省略)

[備考]

この関数は、指定されたキーでハッシュ値を暗号化して署名を作成する。後で署名が有効であることを検証するには、同一のキーと元データの同一のハッシュを用いて
BCryptVerifySignature 関数を呼び出す。プロバイダがサポートするプロセッサモードに応じて、BCryptSignHash
はユーザーモードまたはカーネルモードのいずれからでも呼び出せる。カーネルモードの呼び出し元は PASSIVE_LEVEL IRQL または
DISPATCH_LEVEL IRQL のいずれかで実行できる。現在の IRQL レベルが DISPATCH_LEVEL
である場合、hKey パラメータに渡すハンドルは BCRYPT_PROV_DISPATCH
フラグを指定してオープンされたプロバイダから返されたアルゴリズムハンドルから取得されたものでなければならず、BCryptSignHash
関数に渡すポインタはページング不可(あるいはロックされた)メモリを参照しなければならない。この関数をカーネルモードで呼び出すには、Driver
Development Kit (DDK) に含まれる Cng.lib を使用する。Windows Server 2008 および
Windows Vista: この関数をカーネルモードで呼び出すには Ksecdd.lib を使用する。

情報

プラグイン / モジュールbcrypt.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の bcrypt.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_bcrypt_gen2.hs