使用密钥存储提供程序(KSP)的 NCryptExportKey - AWS CloudHSM

使用密钥存储提供程序(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

hProvider 中的句柄无效。

NTE_BAD_FLAGS

dwFlags 参数包含无效值。

NTE_BAD_KEY_STATE

密钥状态无效。

NTE_NOT_SUPPORTED

pszBlobTypedwFlags 参数包含不支持的值。

STATUS_INTERNAL_ERROR

操作期间发生内部错误。