查看证书服务数据库

ICertView 接口由经过适当授权的客户端用于查看证书服务数据库。 应注意的是,作为所交付产品的一部分,证书颁发机构 MMC 管理单元可用于查看证书服务数据库。 ICertView 用于以编程方式查看数据库。 对 ICertView 接口的支持从 Windows XP 开始。

经过适当授权的客户端是指已被授予查看证书服务数据库的权限的用户;证书颁发机构 MMC 管理单元可用于授予或限制在证书颁发机构的“属性”下查看数据库 (的访问权限,单击“安全性”选项卡) 。 此外,若要使用 ICertView 对象,客户端工作站必须已安装证书服务客户端组件。

尽管存在使用 ICertView 及其相关接口的各种方案,但以下内容描述了开发基于 ICertView 的客户端应用程序的一个可能顺序:

查看证书服务数据库

  1. 获取 ICertView 对象的实例后,调用 ICertView::OpenConnection 以与特定计算机上的 证书颁发机构 通信。
  2. 调用 ICertView::SetResultColumnCount 以指定视图中的列数;此调用还用于指定默认视图。 如果在调用中未指定默认视图,则调用方必须为视图中要包含的每个列调用 ICertView::SetResultColumn
  3. 可选。 通过调用 ICertView::SetRestriction 函数指定数据库查询的排序条件和/或限定条件。 限定条件包括通知视图根据限定符(如“大于”、“小于”、“等于”等)检索数据。
  4. 调用 ICertView::OpenView 以检索视图中的数据;视图的数据将包含 ICertView::SetResultColumnCount (请求的列,如果未指定默认视图, 则 ICertView::SetResultColumn) 。 如果调用 了 ICertView::SetRestriction ,则将对列中的数据进行排序和/或限定。 ICertView::OpenView 创建一个 IEnumCERTVIEWROW 对象,该对象可用于枚举视图的行。
  5. 使用 IEnumCERTVIEWROW 方法 IEnumCERTVIEWROW::EnumCertViewAttributeIEnumCERTVIEWROW::EnumCertViewColumnIEnumCERTVIEWROW::EnumCertViewExtension 根据需要检索属性、列和扩展数据。