cryptGetUserKey 函数 (wincrypt.h)
重要 此 API 已弃用。 新的和现有的软件应开始使用 加密下一代 API。 Microsoft 可能会在将来的版本中删除此 API。
语法
BOOL CryptGetUserKey(
[in] HCRYPTPROV hProv,
[in] DWORD dwKeySpec,
[out] HCRYPTKEY *phUserKey
);
参数
[in] hProv
通过调用 CryptAcquireContext 创建的加密服务提供程序 (CSP) 的 HCRYPTPROV 句柄。
[in] dwKeySpec
标识要从密钥容器使用的私钥。 它可以AT_KEYEXCHANGE或AT_SIGNATURE。
此外,某些提供程序允许通过此函数访问其他用户特定的密钥。 有关详细信息,请参阅有关特定提供程序的文档。
[out] phUserKey
指向检索到的密钥的 HCRYPTKEY 句柄的指针。 使用完密钥后,通过调用 CryptDestroyKey 函数删除句柄。
返回值
如果函数成功,则返回值为非零 (TRUE) 。
如果函数失败,则返回值为零 (FALSE) 。 有关扩展的错误信息,请调用 GetLastError。
以“NTE”开头的错误代码由使用的特定 CSP 生成。 下面是一些可能的错误代码。
返回代码 | 说明 |
---|---|
|
其中一个参数指定无效的句柄。 |
|
其中一个参数包含无效的值。 这通常是无效的指针。 |
|
dwKeySpec 参数包含无效的值。 |
|
hProv 参数不包含有效的上下文句柄。 |
|
dwKeySpec 参数请求的密钥不存在。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wincrypt.h |
Library | Advapi32.lib |
DLL | Advapi32.dll |