使用密钥存储提供程序(KSP)的 NCryptGetProperty
NCryptGetProperty 函数检索密钥存储对象的属性值。
参数
-
hObject[in] -
要检索其属性的对象的句柄。您可以使用:
-
提供程序句柄(
NCRYPT_PROV_HANDLE) -
密钥句柄(
NCRYPT_KEY_HANDLE)
-
-
pszProperty[in] -
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要检索的属性名称。
使用
NCRYPT_PROV_HANDLE时,AWS CloudHSM 密钥存储提供程序(KSP)支持以下 KSP 标识符:标识符/值 描述 NCRYPT_IMPL_TYPE_PROPERTY
L"Impl Type"
包含定义提供程序实现详细信息的标志的 DWORD
NCRYPT_MAX_NAME_LENGTH_PROPERTY
L"Max Name Length"
包含永久密钥名称的最大长度(以字符为单位)的 DWORD。
NCRYPT_NAME_PROPERTY
L"Name"
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含 KSP 名称。
NCRYPT_VERSION_PROPERTY
L"Version"
包含提供程序版本的 DWORD(高字:主要版本,低字:次要版本)。
NCRYPT_USE_CONTEXT_PROPERTY
L"Use Context"
指向以 null 结尾的 Unicode 字符串的指针,该字符串描述了操作上下文。
NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY
L"Security Descr Support"
表示提供程序是否支持密钥的安全描述符。
使用
NCRYPT_KEY_HANDLE时,AWS CloudHSM 密钥存储提供程序(KSP)支持以下 KSP 标识符:标识符/值 描述 NCRYPT_ALGORITHM_PROPERTY
L"Algorithm Name"
以 null 结尾的 Unicode 字符串,该字符串包含密钥的算法名称。
NCRYPT_BLOCK_LENGTH_PROPERTY
L"Block Length"
包含以字节为单位的加密块长度的 DWORD。
NCRYPT_EXPORT_POLICY_PROPERTY
L"Export Policy"
包含标志的 DWORD,所述标志指定持久密钥的导出策略。
NCRYPT_KEY_USAGE_PROPERTY
L"Key Usage"
包含标志的 DWORD,所述标志定义密钥用量详细信息。
NCRYPT_KEY_TYPE_PROPERTY
L"Key Type"
包含标志的 DWORD,所述标志定义密钥类型。
NCRYPT_LENGTH_PROPERTY
L"Length"
包含以位为单位的密钥长度的 DWORD。
NCRYPT_LENGTHS_PROPERTY
L"Lengths"
指向包含支持的密钥大小的 NCRYPT_SUPPORTED_LENGTHS 结构的指针。
NCRYPT_NAME_PROPERTY
L"Name"
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含密钥名称。
NCRYPT_SECURITY_DESCR_PROPERTY
L"Security Descr"
指向包含密钥访问控制信息的 SECURITY_DESCRIPTOR 结构的指针。
NCRYPT_ALGORITHM_GROUP_PROPERTY
L"Algorithm Group"
以 null 结尾的 Unicode 字符串,该字符串包含对象的算法组名称。
NCRYPT_UNIQUE_NAME_PROPERTY
L"Unique Name"
指向以 null 结尾的 Unicode 字符串的指针,该字符串包含密钥的唯一名称。
注意
值是宽字符字符串文字,如文字前的 L 所示。
-
pbOutput[out] -
用于存储属性值的缓冲区的地址。使用
cbOutput指定缓冲区大小。要确定所需的缓冲区大小,请将此参数设置为 NULL。该函数将所需的大小(以字节为单位)存储在
pcbResult所指向的位置。 -
cbOutput[in] -
pbOutput缓冲区的大小,以字节为单位。 pcbResult[out]-
指向 DWORD 变量的指针,该变量存储复制到
pbOutput缓冲区的字节数。如果
pbOutput为 NULL,则存储所需的大小(以字节为单位)。 dwFlags[in]-
用于修改函数行为的标志。可以使用零或:
值 意义 NCRYPT_SILENT_FLAG
此标志无效。
当 pszProperty 为
NCRYPT_SECURITY_DESCR_PROPERTY时,使用以下方法之一或组合使用以下方法:值 意义 OWNER_SECURITY_INFORMATION
此标志无效。
GROUP_SECURITY_INFORMATION
此标志无效。
DACL_SECURITY_INFORMATION
此标志无效。
LABEL_SECURITY_INFORMATION
此标志无效。
SACL_SECURITY_INFORMATION
此标志无效。
返回值
该函数返回一个状态代码,指示成功或失败。
常见的返回代码包括:
| 返回代码 | 描述 |
|---|---|
|
ERROR_SUCCESS |
操作已成功完成。 |
|
NTE_INVALID_PARAMETER |
一个或多个参数无效。 |
|
NTE_FAIL |
操作无法完成。 |
|
NTE_BAD_FLAGS |
|
|
NTE_NOT_SUPPORTED |
|
|
NTE_INVALID_HANDLE |
|
|
NTE_BUFFER_TOO_SMALL |
|