CRYPTUI_WIZ_IMPORT_SRC_INFO 结构 (cryptuiapi.h)

[ CRYPTUI_WIZ_IMPORT_SRC_INFO 结构可用于“要求”部分中指定的操作系统。 它在后续版本中可能已更改或不可用。]

CRYPTUI_WIZ_IMPORT_SRC_INFO 结构包含要导入到 CryptUIWizImport 函数的主题。 使用者可以是 证书、CTL) (证书信任列表 ,也可以是 CRL) (证书吊销列表

语法

typedef struct _CRYPTUI_WIZ_IMPORT_SUBJECT_INFO {
  DWORD   dwSize;
  DWORD   dwSubjectChoice;
  union {
    LPCWSTR        pwszFileName;
    PCCERT_CONTEXT pCertContext;
    PCCTL_CONTEXT  pCTLContext;
    PCCRL_CONTEXT  pCRLContext;
    HCERTSTORE     hCertStore;
  };
  DWORD   dwFlags;
  LPCWSTR pwszPassword;
} CRYPTUI_WIZ_IMPORT_SRC_INFO, *PCRYPTUI_WIZ_IMPORT_SRC_INFO;

成员

dwSize

此结构的大小(以字节为单位)。

dwSubjectChoice

指示要导入的主题的类型。 此成员可以是以下值之一。

含义
CRYPTUI_WIZ_IMPORT_SUBJECT_FILE
导入存储在 pwszFileName 成员中引用的文件中的证书。
CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_CONTEXT
导入 pCertContext 成员中引用的证书。
CRYPTUI_WIZ_IMPORT_SUBJECT_CTL_CONTEXT
导入 pCTLContext 成员中引用的 CTL。
CRYPTUI_WIZ_IMPORT_SUBJECT_CRL_CONTEXT
导入 pCRLContext 成员中引用的 CRL。
CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_STORE
导入 hCertStore 成员中引用的证书存储。

pwszFileName

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要导入的证书的文件的路径和文件名。 如果 dwSubjectChoice 成员包含 CRYPTUI_WIZ_IMPORT_SUBJECT_FILE,则使用此成员。

pCertContext

指向包含要导入的证书 的 CERT_CONTEXT 结构的指针。 如果 dwSubjectChoice 成员包含 CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_CONTEXT,则使用此成员。

pCTLContext

指向包含要导入的 CTL 的 CTL_CONTEXT 结构的指针。 如果 dwSubjectChoice 成员包含 CRYPTUI_WIZ_IMPORT_SUBJECT_CTL_CONTEXT,则使用此成员。

pCRLContext

指向包含要导入的 CRL 的 CRL_CONTEXT 结构的指针。 如果 dwSubjectChoice 成员包含 CRYPTUI_WIZ_IMPORT_SUBJECT_CRL_CONTEXT,则使用此成员。

hCertStore

要导入的证书存储的句柄。 如果 dwSubjectChoice 成员包含 CRYPTUI_WIZ_IMPORT_SUBJECT_CERT_STORE,则使用此成员。

dwFlags

包含修改导入操作的标志。 如果 pwszFileName 包含个人信息交换 (PFX) BLOB,则此成员是必需的。 否则,将忽略此成员。 此成员可以是零,也可以是以下一个或多个值的组合。

含义
CRYPT_EXPORTABLE
导入的密钥将标记为可导出。 如果未使用此标志,则调用具有密钥句柄的 CryptExportKey 函数会失败。
CRYPT_USER_PROTECTED
当某些操作尝试使用此密钥时,将通过对话框或其他某种方式通知用户。 精确行为由 加密服务提供程序 (正在使用的 CSP) 指定。

在 Internet Explorer 4.0 之前,Microsoft CSP 忽略了此标志。 从 Internet Explorer 4.0 开始,Microsoft CSP 支持此标志。

如果打开提供程序上下文时设置了 CRYPT_SILENT 标志,则使用此标志会导致失败,并且最后一个错误设置为 NTE_SILENT_CONTEXT

CRYPT_MACHINE_KEYSET
私钥存储在本地计算机下,而不是存储在当前用户下。
CRYPT_USER_KEYSET
私钥存储在当前用户下,而不是存储在本地计算机下,即使 PFX BLOB 指定它们应位于本地计算机下也是如此。

pwszPassword

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含用于访问 私钥的密码。 如果 pwszFileName 包含 PFX BLOB,则需要密码。 如果不需要密码,则变量可以是空字符串。 此成员不能为 NULL

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 cryptuiapi.h

另请参阅

CRYPTUI_WIZ_EXPORT_INFO

CryptUIWizExport