CRYPTUI_WIZ_DIGITAL_SIGN_INFO 结构 (cryptuiapi.h)

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

CRYPTUI_WIZ_DIGITAL_SIGN_INFO 结构包含有关数字签名的信息。 此结构由 CryptUIWizDigitalSign 函数使用。

语法

typedef struct _CRYPTUI_WIZ_DIGITAL_SIGN_INFO {
  DWORD                                    dwSize;
  DWORD                                    dwSubjectChoice;
  union {
    LPCWSTR                              pwszFileName;
    PCCRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO pSignBlobInfo;
  };
  DWORD                                    dwSigningCertChoice;
  union {
    PCCERT_CONTEXT                           pSigningCertContext;
    PCCRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO    pSigningCertStore;
    PCCRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO pSigningCertPvkInfo;
  };
  LPCWSTR                                  pwszTimestampURL;
  DWORD                                    dwAdditionalCertChoice;
  PCCRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO pSignExtInfo;
} CRYPTUI_WIZ_DIGITAL_SIGN_INFO, *PCRYPTUI_WIZ_DIGITAL_SIGN_INFO;

成员

dwSize

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

dwSubjectChoice

一个 值,该值指示要签名的实体。 如果在 CryptUIWizDigitalSign 函数的 dwFlags 参数中指定了CRYPTUI_WIZ_NO_UI,则此成员是必需的。 这可以是以下值之一。

含义
CRYPTUI_WIZ_DIGITAL_SIGN_SUBJECT_BLOB
将由 pSignBlobInfo 成员指定的内存 BLOB 进行签名。
CRYPTUI_WIZ_DIGITAL_SIGN_SUBJECT_FILE
要对 pwszFileName 成员指定的文件进行签名。
0
系统将提示用户输入要签名的文件。

pwszFileName

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含要签名的文件的路径和文件名。 如果为 dwSubjectChoice 成员指定了 CRYPTUI_WIZ_DIGITAL_SIGN_SUBJECT_FILE,则使用此成员。

pSignBlobInfo

指向包含要签名的 BLOB 的CRYPTUI_WIZ_DIGITAL_SIGN_BLOB_INFO 结构的指针。 如果为 dwSubjectChoice 成员指定了 CRYPTUI_WIZ_DIGITAL_SIGN_SUBJECT_BLOB,则使用此成员。

dwSigningCertChoice

一个 值,该值指定用于对实体进行签名的证书的位置。 默认值为零。 这可以是以下值之一。

注意如果在 CryptUIWizDigitalSign 函数的 dwFlags 参数中指定了CRYPTUI_WIZ_NO_UI,则此值必须CRYPTUI_WIZ_DIGITAL_SIGN_CERTCRYPTUI_WIZ_DIGITAL_SIGN_PVK
 
含义
CRYPTUI_WIZ_DIGITAL_SIGN_CERT
证书包含在 pSigningCertContext 成员指向的 CERT_CONTEXT 结构中。
CRYPTUI_WIZ_DIGITAL_SIGN_STORE
证书包含在 pSigningCertStore 成员指向的 CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO 结构中包含的证书存储中。
CRYPTUI_WIZ_DIGITAL_SIGN_PVK
证书包含在 pSigningCertPvkInfo 成员指向的 CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO 结构中包含的 PVK 文件中。
0
使用“我的存储”中的证书。

pSigningCertContext

指向 CERT_CONTEXT 结构的指针,该结构包含用于对实体进行签名的 证书 。 如果为 dwSigningCertChoice 成员指定了 CRYPTUI_WIZ_DIGITAL_SIGN_CERT,则使用此成员。

pSigningCertStore

指向 CRYPTUI_WIZ_DIGITAL_SIGN_STORE_INFO 结构的指针,该结构包含用于对实体进行签名的证书。 如果为 dwSigningCertChoice 成员指定了 CRYPTUI_WIZ_DIGITAL_SIGN_STORE,则使用此成员。

pSigningCertPvkInfo

指向 CRYPTUI_WIZ_DIGITAL_SIGN_CERT_PVK_INFO 结构的指针,该结构包含用于对实体进行签名的证书。 如果为 dwSigningCertChoice 成员指定了CRYPTUI_WIZ_DIGITAL_SIGN_PVK,则使用此成员。

pwszTimestampURL

指向以 null 结尾的 Unicode 字符串的指针,该字符串包含时间戳的 URL。

dwAdditionalCertChoice

一个 值,该值指示签名中是否将包含其他证书。 默认值为零。 这可以是以下值之一。

含义
CRYPTUI_WIZ_DIGITAL_SIGN_ADD_CHAIN
整个证书链将包含在签名中。
CRYPTUI_WIZ_DIGITAL_SIGN_ADD_CHAIN_NO_ROOT
证书链中除根证书之外的所有证书都将包含在签名中。
0
签名中不会包含任何其他证书。

pSignExtInfo

指向包含有关签名的扩展信息的 CRYPTUI_WIZ_DIGITAL_SIGN_EXTENDED_INFO 结构的指针。

要求

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

另请参阅

CryptUIWizDigitalSign