BCryptExportKey 函数是 Windows 中的 Cryptography API: Next Generation (CNG) 提供的一个函数,用于导出密钥的原始二进制数据。这个函数的原型如下:
NTSTATUS BCryptExportKey(
  BCRYPT_KEY_HANDLE hKey,
  BCRYPT_KEY_HANDLE hExportKey,
  LPCWSTR           pszBlobType,
  PUCHAR            pbOutput,
  ULONG             cbOutput,
  ULONG             *pcbResult,
  ULONG             dwFlags
);

参数说明:

  •  hKey: 要导出的密钥的句柄。

  •  hExportKey: 用于加密导出的密钥的句柄。

  •  pszBlobType: 指定输出数据的格式,通常是 BLOB 类型,如 BCRYPT_OPAQUE_KEY_BLOB。

  •  pbOutput: 指向输出缓冲区的指针,用于存储导出的密钥数据。

  •  cbOutput: 输出缓冲区的大小(以字节为单位)。

  •  pcbResult: 返回实际写入输出缓冲区的字节数。

  •  dwFlags: 可以是零或一些标志,用于影响导出的行为。


函数的返回值是 NTSTATUS 类型,成功时返回 STATUS_SUCCESS。

在调用这个函数之前,通常需要先使用 BCryptImportKey 或者其他类似的函数导入密钥。同时,导出的密钥数据可以保存或传输,以便在需要的时候再导入使用。

注意:使用 Win32 API 和 CNG 函数需要谨慎处理密钥和敏感信息,以确保安全性。


转载请注明出处:http://www.zyzy.cn/article/detail/23991/Win32 API/Bcrypt.h/BCryptExportKey