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
此成员可以是以下一个或多个值。
价值 | 意义 |
---|---|
|
禁用 认证路径 页。 |
|
禁用 详细信息 页。 |
|
不允许用户更改属性。 |
|
允许用户更改属性。 |
|
“安装”按钮处于禁用状态。 |
|
已启用“安装”按钮 |
|
将禁用允许用户接受或拒绝任何决策的页面或按钮。 |
|
忽略不受信任的根错误。 |
|
已知受信任的存储将不用于生成链。 |
|
已知受信任的根存储将不用于生成链。 |
|
仅在查看远程计算机上的证书时使用。 如果使用此标志,rghStores 的第一个元素必须是远程计算机上的根存储的句柄。 |
|
使用默认行为启用吊销检查。 默认行为是启用对除根证书以外的整个证书链的吊销检查。 仅当传入 pCryptProviderData 和 hWVTStateData union 成员时有效。 |
|
为远程计算机生成证书链时,警告称该链在远程计算机上可能不受信任。 |
|
如果设置了此标志,“复制到文件”按钮将在 详细信息 页上禁用。 |
|
仅在证书链中的叶证书上启用吊销检查。 仅当传入 pCryptProviderData 和 hWVTStateData union 成员时有效。 |
|
对证书链中的每个证书启用吊销检查。 仅当传入 pCryptProviderData 和 hWVTStateData union 成员时有效。
注意 因为根证书很少包含允许吊销检查的信息,因此使用此选项通常会导致 CryptUIDlgViewCertificate 函数失败。 建议的选项是使用CRYPTUI_ENABLE_REVOCATION_CHECK_CHAIN_EXCLUDE_ROOT。 |
|
对证书链中的每个证书启用吊销检查,但根证书除外。 这是用于证书吊销检查的建议选项。 仅当传入 pCryptProviderData 和 hWVTStateData union 成员时有效。
注释 此标志等效于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 |