CryptExportKey

暗号化サービスプロバイダ (CSP) から暗号鍵または鍵ペアを安全にエクスポートする。

CryptExportKey hKey, hExpKey, dwBlobType, dwFlags, pbData, pdwDataLen

hKey : [int] エクスポートする鍵へのハンドル。
hExpKey : [int] 送信先ユーザーの暗号鍵へのハンドル。エクスポートされた鍵 BLOB 内の鍵データはこの鍵で暗号化される。これにより、送信先ユーザーだけが鍵 BLOB を利用できることが保証される。hExpKey と hKey は同じ CSP から取得しなければならない。
dwBlobType : [int] pbData にエクスポートする鍵 BLOB の種類を指定する。以下の定数のいずれかでなければならず、詳細は Cryptographic Key Storage and Exchange を参照。
dwFlags : [int] 
pbData : [var] 鍵 BLOB データを受け取るバッファへのポインタ。この BLOB のフォーマットは、dwBlobType パラメータで要求される BLOB の種類によって異なる。PRIVATEKEYBLOB、PUBLICKEYBLOB、SIMPLEBLOB のフォーマットについては Base Provider Key BLOBs を参照。このパラメータが NULL の場合、必要なバッファサイズが pdwDataLen パラメータが指す値に格納される。詳細は Retrieving Data of Unknown Length を参照。
pdwDataLen : [var] DWORD 値へのポインタ。入力時には pbData パラメータが指すバッファのサイズ (バイト単位) を含む。関数が戻ると、この値にはバッファに格納されたバイト数が含まれる。注: バッファに返されたデータを処理する際、アプリケーションは返されたデータの実際のサイズを使用しなければならない。実際のサイズは入力時に指定したバッファサイズよりわずかに小さい可能性がある。入力時には通常、想定される最大出力データが収まるようバッファサイズを大きめに指定する。出力時、このパラメータが指す変数はバッファにコピーされたデータの実際のサイズを反映するように更新される。pbData に必要なサイズを取得するには、pbData に NULL を渡す。必要なバッファサイズはこのパラメータが指す値に格納される。

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

解説

暗号化サービスプロバイダ (CSP) から暗号鍵または鍵ペアを安全にエクスポートする。

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

[備考]
PLAINTEXTKEYBLOB を使用する DES
鍵の任意の順列については、パリティビットを含めた完全な鍵サイズのみがエクスポートできる。サポートされる鍵サイズを以下に示す。
(以下省略)

情報

プラグイン / モジュール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