使用密钥存储提供程序(KSP)的 NCryptExportKey
NCryptExportKey 函数将 KSP 密钥导出到内存 BLOB。此函数仅支持导出公有密钥。
参数
-
hKey[in] -
要导出的密钥的句柄。
-
hExportKey[in, unused] -
AWS CloudHSM 密钥存储提供程序(KSP)不使用此参数。
pszBlobType[in]-
以 null 结尾的 Unicode 字符串,用于指定要导出的 BLOB 类型。AWS CloudHSM密钥存储提供程序(KSP)支持以下值:
值 意义 BCRYPT_RSAPUBLIC_BLOB
导出 RSA 公有密钥。
pbOutput缓冲区包含一个BCRYPT_RSAKEY_BLOB结构,后面是密钥数据。BCRYPT_ECCPUBLIC_BLOB
导出 ECC 公有密钥。
pbOutput缓冲区包含一个BCRYPT_ECCKEY_BLOB结构,后面是密钥数据。 pParameterList[in, unused]-
AWS CloudHSM 密钥存储提供程序(KSP)不使用此参数。
pbOutput[out, optional]-
用于存储密钥 BLOB 的缓冲区地址。使用
cbOutput指定缓冲区大小。如果设置为 NULL,则该函数在pcbResult所指向的 DWORD 中存储所需的大小(以字节为单位)。 cbOutput[in]-
pbOutput缓冲区的大小,以字节为单位。 pcbResult[out]-
用于存储复制到
pbOutput缓冲区的字节数的 DWORD 变量地址。如果pbOutput为 NULL,则该函数存储所需的缓冲区大小,以字节为单位。 dwFlags[in]-
修改函数工作原理的标志。可以使用零或以下值:
值 意义 NCRYPT_SILENT_FLAG
此标志无效。
返回值
该函数返回一个状态代码,指示成功或失败。
常见的返回代码包括:
| 返回代码 | 描述 |
|---|---|
|
ERROR_SUCCESS |
操作已成功完成。 |
|
NTE_INVALID_PARAMETER |
一个或多个参数无效。 |
|
NTE_FAIL |
操作无法完成。 |
|
NTE_INVALID_HANDLE |
|
|
NTE_BAD_FLAGS |
|
|
NTE_BAD_KEY_STATE |
密钥状态无效。 |
|
NTE_NOT_SUPPORTED |
|
|
STATUS_INTERNAL_ERROR |
操作期间发生内部错误。 |