ICertServerPolicy 接口 (certif.h)

ICertServerPolicy 接口允许策略模块与证书服务通信。

注意 证书服务通过 ICertPolicy2 接口与策略模块通信。
 
ICertServerPolicy 接口由服务器引擎导出,并由策略模块调用以执行以下任务:
  • 指定哪个证书请求用作后续操作的当前上下文。
  • 枚举和检索扩展 (包括证书请求的扩展标志) ,并设置颁发的证书的扩展。
  • 枚举和检索请求属性。
  • 检索证书请求属性。
  • 检索和设置证书属性。

从调用 ICertPolicy::VerifyRequest 方法到返回时,可以通过 Context 数据对象访问未解析的请求和正在构建的证书。 由于策略模块可以通过调用 ICertServerPolicy::SetCertificateProperty 来添加或替代请求属性,因此证书属性可能与请求属性不同。

ICertServerPolicy 在 Certif.h 中定义。 但是,在创建程序时,请使用 Certsrv.h 作为包含文件。 Certcli.dll 提供 ICertServerPolicy 接口。 此接口的类型信息也位于 Certclil.dll 中,该信息随平台软件开发工具包 (SDK) 一起提供。

证书服务接口同时支持单元线程和自由线程模型。 为了提高吞吐量,建议使用自由线程处理。

继承

ICertServerPolicy 接口继承自 IDispatch 接口。 ICertServerPolicy 也有以下类型的成员:

方法

ICertServerPolicy 接口具有这些方法。

 
ICertServerPolicy::EnumerateAttributes

检索当前属性的名称,并将内部枚举指针移动到下一个属性。
ICertServerPolicy::EnumerateAttributesClose

释放与属性枚举关联的资源。
ICertServerPolicy::EnumerateAttributesSetup

初始化指向与当前上下文关联的第一个请求属性的内部枚举指针。 (ICertServerPolicy.EnumerateAttributesSetup)
ICertServerPolicy::EnumerateExtensions

检索当前扩展 (OID) 的对象标识符,并将内部枚举指针移动到下一个扩展。
ICertServerPolicy::EnumerateExtensionsClose

释放与扩展枚举连接的资源。
ICertServerPolicy::EnumerateExtensionsSetup

初始化指向与当前上下文关联的第一个证书扩展的内部枚举指针。 (ICertServerPolicy.EnumerateExtensionsSetup)
ICertServerPolicy::GetCertificateExtension

检索特定的证书扩展。
ICertServerPolicy::GetCertificateExtensionFlags

检索与最近调用 GetCertificateExtension 获取的扩展关联的标志。
ICertServerPolicy::GetCertificateProperty

从证书返回命名属性。 (ICertServerPolicy.GetCertificateProperty)
ICertServerPolicy::GetRequestAttribute

从请求返回命名属性。
ICertServerPolicy::GetRequestProperty

从请求中检索特定属性。
ICertServerPolicy::SetCertificateExtension

向证书添加新扩展。
ICertServerPolicy::SetCertificateProperty

设置与证书关联的属性。
ICertServerPolicy::SetContext

指定要用作后续调用证书服务上下文的请求。

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 certif.h (包括 Certsrv.h)

另请参阅

ICertAdmin::ResubmitRequest

ICertAdmin::SetRequestAttributes

ICertPolicy::VerifyRequest

ICertRequest

ICertRequest::Submit

IDispatch