CryptUIWizImport 函数 (cryptuiapi.h)

函数将 证书、CTL) (证书信任列表 、CRL) (证书吊销列表证书存储 导入到证书存储区。 可以使用或不与用户交互一起执行导入。

语法

BOOL CryptUIWizImport(
  [in] DWORD                         dwFlags,
  [in] HWND                          hwndParent,
  [in] LPCWSTR                       pwszWizardTitle,
  [in] PCCRYPTUI_WIZ_IMPORT_SRC_INFO pImportSrc,
  [in] HCERTSTORE                    hDestCertStore
);

参数

[in] dwFlags

包含修改函数行为的标志。 这可以是零,也可以是以下一个或多个值的组合。

注意 除了 CRYPTUI_WIZ_NO_UI,已发布的头文件中未定义以下任何常量。 若要使用这些常量,必须使用指定的值来定义它们。
 
含义
CRYPTUI_WIZ_NO_UI
0x0001
此函数将基于 pImportSrc 指向的 CRYPTUI_WIZ_IMPORT_SRC_INFO 结构中的信息执行导入,导入到 hDestCertStore 指定的存储中,而不显示任何用户界面。 如果未指定此标志,此函数将显示一个向导,指导用户完成导入过程。

从 Windows 8 和 Windows Server 2012 开始,如果设置此标志并从 PFX BLOB 导入证书,该证书已保护到 Active Directory (AD) 主体,并且当前用户作为该主体的一部分有权解密嵌入在 PFX 数据包中的密码,则导入将成功,而无需在 CRYPTUI_WIZ_IMPORT_SRC_INFO 结构。 有关保护 AD 主体的 PFX 的详细信息,请参阅 pvPara 参数和 PFXExportCertStoreEx 函数的 PKCS12_PROTECT_TO_DOMAIN_SIDS 标志。

CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS
0x0002
禁止加密 服务提供程序 (CSP) 生成的所有用户界面。 此选项可由 CRYPTUI_WIZ_NO_UI_EXCEPT_CSP 选项替代。
CRYPTUI_WIZ_NO_UI_EXCEPT_CSP
0x0003
禁止显示除 CSP 生成的用户界面以外的所有用户界面。 此选项替代 CRYPTUI_WIZ_IGNORE_NO_UI_FLAG_FOR_CSPS 选项。
CRYPTUI_WIZ_IMPORT_ALLOW_CERT
0x00020000
允许导入证书。
CRYPTUI_WIZ_IMPORT_ALLOW_CRL
0x00040000
允许导入 CRL。
CRYPTUI_WIZ_IMPORT_ALLOW_CTL
0x00080000
允许导入 CTL。
CRYPTUI_WIZ_IMPORT_NO_CHANGE_DEST_STORE
0x00010000
不允许用户更改 由 hDestCertStore 参数表示的目标证书存储。
CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINE
0x00100000
将 对象导入到本地计算机的证书存储中。 这仅适用于个人信息交换 (PFX) 导入。
CRYPTUI_WIZ_IMPORT_TO_CURRENTUSER
0x00200000
将 对象导入到当前用户的证书存储中。 这仅适用于 PFX 导入。
CRYPTUI_WIZ_IMPORT_REMOTE_DEST_STORE
0x00400000
将 对象导入远程证书存储。 如果 hDestCertStore 参数表示远程证书存储,请设置此标志。

[in] hwndParent

要用作此函数创建的对话框的父级的窗口的句柄。 如果在 dwFlags 中设置了CRYPTUI_WIZ_NO_UI标志,则忽略此参数。

[in] pwszWizardTitle

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要在此函数创建的对话框中使用的标题。 如果在 dwFlags 中设置了CRYPTUI_WIZ_NO_UI标志,则忽略此参数。

[in] pImportSrc

指向 CRYPTUI_WIZ_IMPORT_SRC_INFO 结构的指针,该结构包含有关要导入的对象的信息。 如果在 dwFlags 中设置CRYPTUI_WIZ_NO_UI,则此参数是必需的,否则为可选参数。

[in] hDestCertStore

要导入到的证书存储的句柄。 如果此参数为 NULL,并且未在 dwFlags 中设置CRYPTUI_WIZ_NO_UI标志,向导将提示用户选择证书存储。

返回值

如果函数成功,则函数返回非零值。

如果函数失败,则返回零。 有关扩展的错误信息,请调用 GetLastError 函数。

注解

如果在 dwFlags 中未设置以下三个标志,则允许导入任何类型的内容:

  • CRYPTUI_WIZ_IMPORT_ALLOW_CERT
  • CRYPTUI_WIZ_IMPORT_ALLOW_CRL
  • CRYPTUI_WIZ_IMPORT_ALLOW_CTL
CRYPTUI_WIZ_IMPORT_TO_LOCALMACHINECRYPTUI_WIZ_IMPORT_TO_CURRENTUSER标志用于强制 PFX BLOB 的内容进入本地计算机存储或当前用户存储。 如果这两个标志均未设置,并且 hDestCertStoreNULL
  • PFX BLOB 中的私钥将被强制导入到当前用户存储中。
  • 如果未设置 CRYPTUI_WIZ_NO_UI ,向导会提示用户从当前用户证书存储中选择证书存储。

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 cryptuiapi.h
Library Cryptui.lib
DLL Cryptui.dll

另请参阅

CRYPTUI_WIZ_IMPORT_SRC_INFO

CryptUIWizExport