中介

中介与客户端应用程序通信以允许它们提交 证书请求, (假设请求导致颁发的证书) 将颁发的证书下载到客户端。 每个传输层协议都需要其自己的中介。

Microsoft 证书服务附带了一个中介 (http) Web 注册页面。 中介的另一个示例是 Microsoft Windows 证书 MMC 管理单元 (它允许) 调用证书请求向导。 如果要将其他传输层协议与证书服务一起使用,开发人员可以为每个所需的传输层协议创建一个中介。

中介使用服务器引擎提供的 ICertRequestICertConfig 接口与证书服务通信。 ICertRequest::Submit 方法用于提交证书请求而 ICertRequest::GetCertificate 用于获取生成的已颁发的证书。 同样, ICertConfig::GetConfig 用于确定可以使用哪个证书颁发机构颁发证书。

中介不依赖于语言。 它可以是用 C++、Visual Basic、Java、脚本或其他语言编写的程序。

除了从客户端收集数据以生成证书请求外,中介还可以指定请求属性。 提交到运行企业策略模块的 证书颁发机构 的请求必须通过在请求本身中指定“CertificateTemplate”属性或证书模板扩展来指示所请求的证书类型。

请注意,在创建证书请求期间,开发人员 (和中介) 负责维护私钥的保密性。 私钥被泄露 (失去保密性) 后,它就无用了。

证书服务 Web 注册页使用 证书注册接口,该接口通过在工作站上生成私钥来保护私钥。 除了维护私钥的保密性外,证书注册控制还允许中介指定加密服务提供程序、密钥规范、密钥强度和哈希算法。

证书 MMC 管理单元还使用证书注册控制 (Xenroll.dll) 。 但是,如果证书服务 Web 注册页面导致证书注册控制资源 (Xenroll.dll) 在需要时下载到客户端,则证书 MMC 管理单元在Xenroll.dll已是可用资源的环境中运行。

除了 ICertRequestICertConfig 之外,中介的开发人员可能会发现 证书注册接口智能卡注册控件 很有用。