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