enrollNestedCMC
enrollNestedCMC 範例會從檔案讀取現有的 CMC 憑證要求、將它包裝在另一個 CMC 要求中、簽署此外部要求、將它提交至憑證授權單位單位 (CA) ,並將 CA 的憑證回應儲存至檔案。
位置
當您安裝 Microsoft Windows 軟體發展工具組 (SDK) 時,預設會在 %ProgramFiles%\Microsoft SDKs\Windows\v7.0\Samples\X509 Certificate Enrollment\VC\enrollmentNestedCMC 資料夾中安裝範例。
討論
enrollNestedCMC 範例:
- 處理下列命令列引數:
- 輸入檔的名稱。
- 輸出檔的名稱。
- 選擇性的要求範本。
- 從檔案讀取現有的 CMC 要求做為 base63 編碼的位元組陣列、將位元組陣列轉換成 BSTR、建立 IX509CertificateRequestCmc 物件,並使用 BSTR 初始化要求物件。 初始化的物件會變成內部要求。
- 使用在上一個步驟中建立和初始化的內部要求物件,初始化另一個 CMC 要求。
- 擷取現有的簽署憑證,或者,如果找不到憑證,請從命令列上指定的範本建立憑證要求,並嘗試註冊。 findCertByTemplate 和 enrollCertByTemplate 函式定義于 enrollCommon.cpp 中。
- 從外部 CMC 要求擷取 ISignerCertificates 集合、建立新的 ISignerCertificate 物件、使用擷取的簽署憑證初始化它,並將它新增至集合。
- 使用 可辨別編碼規則 (DER) 編碼 CMC 要求,並將要求擷取為BSTR。
- 建立 ICertConfig 物件,並用它來擷取包含 CA 組態的字串。
- 建立 CryptoAPI ICertRequest2 物件,並使用它加上包含 CA 組態的字串和憑證要求,以將要求提交至 CA。
- 檢查註冊程式的狀態,並將 CA 的憑證回應儲存到檔案。 EncodeToFileW 函式定義于 enrollCommon.cpp 中。
相關主題