(cryptuiapi.h) CRYPTUI_VIEWCERTIFICATE_STRUCTA 结构
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
此成员可以是以下一个或多个值。
值 | 含义 |
---|---|
|
“ 证书路径 ”页处于禁用状态。 |
|
“详细信息”页处于禁用状态。 |
|
不允许用户更改属性。 |
|
允许用户更改属性。 |
|
“ 安装 ”按钮已禁用。 |
|
“ 安装 ”按钮已启用。 |
|
允许用户接受或拒绝任何决定的页面或按钮将被禁用。 |
|
忽略不受信任的根错误。 |
|
已知的受信任存储不会用于构建链。 |
|
已知的受信任根存储区将不用于生成链。 |
|
仅在查看远程计算机上的证书时使用 。 如果使用此标志, 则 rghStores 的第一个元素必须是远程计算机上根存储的句柄。 |
|
使用默认行为启用吊销检查。 默认行为是启用整个证书链(根证书除外)的吊销检查。 仅当 pCryptProviderData 和 hWVTStateData 联合成员均未传入时有效。 |
|
为远程计算机生成证书链时,警告该链在远程计算机上可能不受信任。 |
|
如果设置了此标志,将在“详细信息”页上禁用“复制到文件”按钮。 |
|
仅对证书链中的叶证书启用吊销检查。 仅当 pCryptProviderData 和 hWVTStateData 联合成员均未传入时有效。 |
|
对证书链中的每个证书启用吊销检查。 仅当 pCryptProviderData 和 hWVTStateData 联合成员均未传入时有效。
注意 由于根证书很少包含允许吊销检查的信息,因此使用此选项通常会导致 CryptUIDlgViewCertificate 函数失败。 建议的选项是使用 CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT。 |
|
对证书链中的每个证书启用吊销检查,根证书除外。 这是用于证书吊销检查的推荐选项。 仅当 pCryptProviderData 和 hWVTStateData 联合成员均未传入时有效。
注意 此标志等效于 CRYPTUI_ENABLE_REVOCATION_CHECKING。 |
|
禁用“证书”对话框中的“HTML 帮助”按钮 (?) 。 |
|
禁用“证书”对话框的“常规”选项卡上的“颁发者语句”按钮。 |
|
禁用联机吊销检查。 设置此标志以确保 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 ,还必须设置 fpCryptProviderDataTrustedUsage、 idxSigner、 idxCert 和 fCounterSignature 。
hWVTStateData
如果已为证书调用 WinVerifyTrust,并且未调用 WTHelperProvDataFromStateData,请传入 WINTRUST_DATA 结构的 hWVTStateData 成员。 如果设置了 hWVTStateData ,还必须设置 fpCryptProviderDataTrustedUsage、 idxSigner、 idxCert 和 fCounterSignature 。
fpCryptProviderDataTrustedUsage
如果调用 了 WinVerifyTrust ,则这是证书是否受信任的结果。
idxSigner
要查看的签名者的索引。
idxCert
正在签名者链中查看的证书的索引。 此证书的证书上下文必须与 pCertContext 匹配。
fCounterSigner
如果正在查看反签名,则为 TRUE。 如果为 TRUE, 则 idxCounterSigner 必须有效。
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 |