GetCryptProvFromCert 函数
重要
已弃用此 API。 Microsoft 可能会在将来的版本中删除此 API。
GetCryptProvFromCert 函数获取加密服务提供程序的句柄 (CSP) 和证书上下文的密钥规范。 使用此函数可获取对证书颁发者的 私钥 的访问权限。
注意
此函数没有关联的头文件或导入库。 若要调用此函数,必须创建用户定义的头文件,并使用 LoadLibrary 和 GetProcAddress 函数动态链接到Mssign32.dll。
语法
BOOL WINAPI GetCryptProvFromCert(
_In_ HWND hwnd,
_In_ PCCERT_CONTEXT pCert,
_Out_ HCRYPTPROV *phCryptProv,
_Out_ DWORD *pdwKeySpec,
_In_ BOOL *pfDidCryptAcquire,
_Out_opt_ LPWSTR *ppwszTmpContainer,
_Out_opt_ LPWSTR *ppwszProviderName,
_Out_ DWORD *pdwProviderType
);
parameters
-
hwnd [in]
-
要用作所显示的任何对话框的所有者的窗口的句柄。 此成员当前未使用,将被忽略。 为此参数传递 NULL 是安全的。
-
pCert [in]
-
指向证书 CERT_CONTEXT 结构的指针。
-
phCryptProv [out]
-
指向 CSP 句柄的 HCRYPTPROV 结构的指针。
-
pdwKeySpec [out]
-
要检索的私钥的规范。 可能的值包括 AT_KEYEXCHANGE 或 AT_SIGNATURE。
-
pfDidCryptAcquire [in]
-
一个 值,该值指定函数是否基于证书获取提供程序句柄。
-
ppwszTmpContainer [out, optional]
-
指向临时密钥容器名称的以 null 结尾的字符串的指针的地址。 GetCryptProvFromCert 函数提供并初始化临时容器。 调用 GetCryptProvFromCert 时,地址应指向 NULL 值。
-
ppwszProviderName [out, optional]
-
指向提供程序名称的以 null 结尾的字符串的指针的地址。 GetCryptProvFromCert 函数返回提供程序名称。 调用 GetCryptProvFromCert 时,地址应指向 NULL 值。
-
pdwProviderType [out]
-
指定 CSP 类型。 这可以是零个或其中一个 加密提供程序类型。 如果此成员为零,则密钥容器是 CNG 密钥存储提供程序之一。
返回值
成功后,此函数返回 TRUE。 如果失败, GetCryptProvFromCert 函数将返回 FALSE 。
备注
MakeCert 工具在使用 -is 命令行选项调用 GetCryptProvFromCert 时调用它。
如果 pfDidCryptAcquire 参数设置为 TRUE,则函数会将 phCryptProv、 pdwKeySpec 和 pdwProviderType 参数设置为提供程序值。
使用完 CSP 后,通过调用 FreeCryptProvFromCert 函数将其释放。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
DLL |
|