GetCryptProvFromCert 函数

重要

已弃用此 API。 Microsoft 可能会在将来的版本中删除此 API。

 

GetCryptProvFromCert 函数获取加密服务提供程序的句柄 (CSP) 和证书上下文的密钥规范。 使用此函数可获取对证书颁发者的 私钥 的访问权限。

注意

此函数没有关联的头文件或导入库。 若要调用此函数,必须创建用户定义的头文件,并使用 LoadLibraryGetProcAddress 函数动态链接到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_KEYEXCHANGEAT_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,则函数会将 phCryptProvpdwKeySpecpdwProviderType 参数设置为提供程序值。

使用完 CSP 后,通过调用 FreeCryptProvFromCert 函数将其释放。

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
DLL
Mssign32.dll