共用方式為


仲介

中繼程式會與用戶端應用程式通訊,以允許他們提交憑證要求,以及(假設要求會導致發行的憑證)將發行的憑證下載至用戶端。 每個傳輸層通訊協定都需要自己的媒介。

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之外,中介機構的開發人員可能會發現 憑證註冊介面和 智慧卡註冊控制 很有用。