CRYPTUI_VIEWCERTIFICATE_STRUCTA结构(cryptuiapi.h)

CRYPTUI_VIEWCERTIFICATE_STRUCT 结构包含有关要查看的证书的信息。 此结构用于 CryptUIDlgViewCertificate 函数。

语法

typedef struct tagCRYPTUI_VIEWCERTIFICATE_STRUCTA {
  DWORD             dwSize;
  HWND              hwndParent;
  DWORD             dwFlags;
  LPCSTR            szTitle;
  PCCERT_CONTEXT    pCertContext;
  LPCSTR            *rgszPurposes;
  DWORD             cPurposes;
  union {
    CRYPT_PROVIDER_DATA const *pCryptProviderData;
    HANDLE                    hWVTStateData;
  };
  BOOL              fpCryptProviderDataTrustedUsage;
  DWORD             idxSigner;
  DWORD             idxCert;
  BOOL              fCounterSigner;
  DWORD             idxCounterSigner;
  DWORD             cStores;
  HCERTSTORE        *rghStores;
  DWORD             cPropSheetPages;
  LPCPROPSHEETPAGEA rgPropSheetPages;
  DWORD             nStartPage;
} CRYPTUI_VIEWCERTIFICATE_STRUCTA, *PCRYPTUI_VIEWCERTIFICATE_STRUCTA;

成员

dwSize

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

hwndParent

窗口的句柄,该窗口是由 CryptUIDlgViewCertificate生成的对话框的父级。

dwFlags

此成员可以是以下一个或多个值。

价值 意义
CRYPTUI_HIDE_HIERARCHYPAGE
禁用 认证路径 页。
CRYPTUI_HIDE_DETAILPAGE
禁用 详细信息 页。
CRYPTUI_DISABLE_EDITPROPERTIES
不允许用户更改属性。
CRYPTUI_ENABLE_EDITPROPERTIES
允许用户更改属性。
CRYPTUI_DISABLE_ADDTOSTORE
“安装”按钮处于禁用状态。
CRYPTUI_ENABLE_ADDTOSTORE
已启用“安装”按钮
CRYPTUI_ACCEPT_DECLINE_STYLE
将禁用允许用户接受或拒绝任何决策的页面或按钮。
CRYPTUI_IGNORE_UNTRUSTED_ROOT
忽略不受信任的根错误。
CRYPTUI_DONT_OPEN_STORES
已知受信任的存储将不用于生成链。
CRYPTUI_ONLY_OPEN_ROOT_STORE
已知受信任的根存储将不用于生成链。
CRYPTUI_WARN_UNTRUSTED_ROOT
仅在查看远程计算机上的证书时使用。 如果使用此标志,rghStores 的第一个元素必须是远程计算机上的根存储的句柄。
CRYPTUI_ENABLE_REVOCATION_CHECKING
使用默认行为启用吊销检查。 默认行为是启用对除根证书以外的整个证书链的吊销检查。 仅当传入 pCryptProviderDatahWVTStateData union 成员时有效。
CRYPTUI_WARN_REMOTE_TRUST
为远程计算机生成证书链时,警告称该链在远程计算机上可能不受信任。
CRYPTUI_DISABLE_EXPORT
如果设置了此标志,“复制到文件”按钮将在 详细信息 页上禁用。
CRYPTUI_ENABLE_REVOCATION_CHECK_END_CERT
仅在证书链中的叶证书上启用吊销检查。 仅当传入 pCryptProviderDatahWVTStateData union 成员时有效。
CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN
对证书链中的每个证书启用吊销检查。 仅当传入 pCryptProviderDatahWVTStateData union 成员时有效。

注意 因为根证书很少包含允许吊销检查的信息,因此使用此选项通常会导致 CryptUIDlgViewCertificate 函数失败。 建议的选项是使用CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT。

CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT
对证书链中的每个证书启用吊销检查,但根证书除外。 这是用于证书吊销检查的建议选项。 仅当传入 pCryptProviderDatahWVTStateData union 成员时有效。

注释 此标志等效于CRYPTUI_ENABLE_REVOCATION_CHECKING。

CRYPTUI_DISABLE_HTMLLINK
证书 对话框中禁用 HTML 帮助按钮()。
CRYPTUI_DISABLE_ISSUERSTATEMENT
在“证书”对话框的“常规”选项卡上禁用“颁发者语句”按钮。
CRYPTUI_CACHE_ONLY_URL_RETRIEVAL
禁用联机吊销检查。 设置此标志以确保 CryptUIDlgViewCertificate 函数使用本地缓存检索证书,并且不会尝试从网络检索证书。

Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP:不支持 此标志。

szTitle

指向包含窗口标题的以 null 结尾的字符串的指针。

pCertContext

指向包含要显示的证书上下文的 CERT_CONTEXT 结构的指针。

rgszPurposes

指向以 null 结尾的字符串的指针数组,其中包含此证书的验证目的。

cPurposes

rgszPurposes 数组中的用途数。

pCryptProviderData

如果已为证书调用了 WinVerifyTrust 函数,并且还调用了 WTHelperProvDataFromStateData 函数,则传入指向从调用 WTHelperProvDataFromStateData获取的状态结构的指针。 如果设置了 pCryptProviderData,则还必须设置 fpCryptProviderDataTrustedUsageidxSigneridxCertfCounterSignature

hWVTStateData

如果已为证书调用 WinVerifyTrust,并且未调用 WTHelperProvDataFromStateData,请传入 WINTRUST_DATA 结构的 hWVTStateData 成员。 如果设置了 hWVTStateData,则还必须设置 fpCryptProviderDataTrustedUsageidxSigneridxCertfCounterSignature

fpCryptProviderDataTrustedUsage

如果 WinVerifyTrust 被调用,则这是证书是否受信任的结果。

idxSigner

要查看的签名者的索引。

idxCert

正在签名者链中查看的证书的索引。 此证书的证书上下文必须与 pCertContext匹配。

fCounterSigner

如果正在查看计数器签名,则 TRUE。 如果 TRUEidxCounterSigner 必须有效。

idxCounterSigner

要查看的计数器签名的索引。

cStores

rghStores 中的其他存储数 证书存储数组,用于在生成和验证证书链时进行搜索。

rghStores

HCERTSTORE 的数组 处理其他证书存储,用于在生成和验证证书链时进行搜索。

cPropSheetPages

要添加到对话框中的属性页数。

rgPropSheetPages

要添加到对话框的属性页数组。 此数组中的每个页面都不会在 PROPSHEETPAGE 结构中接收 lParam,因为 WM_INITDIALOG 消息中 lParam。 它将接收指向 CRYPTUI_INITDIALOG_STRUCT 结构的指针。 它包含 PROPSHEETPAGE 中的 lParam,以及指向显示页面 CERT_CONTEXT 的指针。

nStartPage

将显示的初始页面的索引。 如果设置了最高位(0x8000),则假定索引为索引 rgPropSheetPages(在去除最高位后),例如,0x8000将指示 rgPropSheetPages中的第一页)。 如果最高位为零,nStartPage 将是默认证书对话框属性页的起始索引。

言论

注意

cryptuiapi.h 标头将CRYPTUI_VIEWCERTIFICATE_STRUCT定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

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

另请参阅

CryptUIDlgViewCertificate