CryptImportKey

鍵 BLOB から暗号化サービスプロバイダ (CSP) に暗号鍵を転送する。

CryptImportKey hProv, pbData, dwDataLen, hPubKey, dwFlags, phKey

hProv : [int] CryptAcquireContext 関数で取得した CSP のハンドル。
pbData : [var] PUBLICKEYSTRUC BLOB ヘッダーに続いて暗号化された鍵を含む BYTE 配列。この鍵 BLOB は、このアプリケーションまたは別のコンピュータで実行されている可能性のある別のアプリケーションで、CryptExportKey 関数によって作成される。
dwDataLen : [int] 鍵 BLOB の長さ (バイト単位)。
hPubKey : [int] pbData に格納された鍵を復号する暗号鍵へのハンドル。この鍵は hProv が参照するものと同じ CSP から取得しなければならない。このパラメータの意味は、CSP の種類とインポートする鍵 BLOB の種類によって異なる。
dwFlags : [int] 現在、PRIVATEKEYBLOB 形式の公開/秘密鍵ペアを CSP にインポートする場合にのみ使用される。
phKey : [var] インポートされた鍵のハンドルを受け取る HCRYPTKEY 値へのポインタ。鍵の使用が終わったら、CryptDestroyKey 関数を呼び出してハンドルを解放する。

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

解説

鍵 BLOB から暗号化サービスプロバイダ (CSP) に暗号鍵を転送する。

[戻り値]
関数が成功した場合はゼロ以外を返す。失敗した場合はゼロを返す。拡張エラー情報を取得するには GetLastError
を呼び出す。「NTE」で始まるエラーコードは使用中の特定の CSP が生成する。以下のエラーコードが返される可能性がある。
(以下省略)

[備考]
Hash-Based Message Authentication Code (HMAC)
鍵をインポートするとき、呼び出し側はインポートされる鍵を PLAINTEXTKEYBLOB 型と識別し、PUBLICKEYSTRUC
BLOB ヘッダーの aiKeyAlg フィールドに適切なアルゴリズム識別子を設定しなければならない。CryptImportKey
関数は対称アルゴリズム用の平文鍵をインポートするために使用できる。ただし、使いやすさのため、代わりに CryptGenKey
関数を使用することを推奨する。平文鍵をインポートする際、pbData パラメータで渡される鍵 BLOB の構造は
PLAINTEXTKEYBLOB となる。PLAINTEXTKEYBLOB 型は、使用中の CSP
がサポートする任意のアルゴリズムや鍵種別の組み合わせで使用できる。平文鍵のインポート例については、Example C Program:
Importing a Plaintext Key を参照。次の例は、ヘッダーフィールドの設定方法を示す。
(以下省略)

情報

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