共用方式為


enrollFromPublicKey

enrollFromPublicKey 範例會初始化 PKCS #10 憑證要求物件、將它包裝在 CMC 要求物件中、將 CMC 要求提交至企業憑證授權單位單位 (CA) ,並將 CA 傳回的憑證儲存在檔案中。

位置

當您安裝 Microsoft Windows 軟體發展工具組 (SDK) 時,預設會在 %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\Security\X509 Certificate Enrollment\VC\enrollmentFromPublicKey 資料夾中安裝範例。

討論

enrollFromPublicKey 範例:

  1. 處理下列命令列引數:
    • 憑證範本的名稱。
    • 要在其中將已安裝憑證儲存為 base64 編碼位元組陣列的檔案名。
    • 選擇性簽署憑證範本名稱。 如果憑證存放區中沒有任何憑證存在,則此範本可用來建立簽署憑證。
  2. 建立 IX509PrivateKey 私密金鑰物件,並呼叫 Create 方法來使用目前電腦的預設密碼編譯提供者、金鑰大小和 KeySpec 值來建立非對稱私密金鑰。
  3. 擷取 IX509PrivateKey 物件的公開金鑰部分。
  4. 建立 IX509CertificateRequestPkcs10 物件,並使用命令列和公開金鑰上指定的範本加以初始化。
  5. 建立 IX509CertificateRequestCmc 物件,並使用 PKCS #10 要求物件加以初始化。
  6. 擷取現有的簽署憑證,或者,如果找不到憑證,請從命令列上指定的範本建立憑證要求,並嘗試註冊。 findCertByKeyUsage 定義于 enrollCommon.cpp 中。
  7. 驗證憑證鏈結。
  8. 建立 ISignerCertificate 物件、使用簽署憑證初始化它、從 CMC 要求物件擷取 ISignerCertificates 集合,並將簽署憑證物件新增至集合。
  9. 使用 可辨別編碼規則 (DER) 來編碼 CMC 要求。
  10. 建立 ICertConfig 物件,並用它來擷取包含 CA 組態的字串。
  11. 建立 CryptoAPI ICertRequest2 物件,並使用它加上包含 CA 組態的字串和憑證要求,以將要求提交至 CA。
  12. 檢查註冊程式的狀態,並將已安裝的憑證儲存至檔案。 EncodeToFileW 函式定義于 enrollCommon.cpp 中。

CMC 要求

PKCS #10 要求

使用內含範例