共用方式為


enrollPKCS7

註冊PKCS7 範例會繼承公用和私密金鑰和憑證範本,從現有的憑證建立 PKCS #7 要求。 現有的憑證是用來簽署要求。 此範例會在憑證階層中註冊使用者,並安裝憑證回應。 此範例會使用現有的憑證來註冊並安裝新的憑證。 如需更新現有憑證的詳細資訊,請參閱 enrollRenewalPKCS7

位置

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

討論

enrollPKCS7 範例:

  1. 處理命令列引數。 命令列應該包含用來尋找現有憑證的憑證範本名稱。
  2. 使用命令列上指定的範本名稱擷取現有的憑證,或者如果找不到憑證,會嘗試使用範本註冊新憑證。 findCertByTemplate 和 enrollCertByTemplate 函式定義于 enrollCommon.cpp 中。
  3. 驗證憑證鏈結,並將憑證轉換為 BSTR
  4. 建立 IX509CertificateRequestPkcs7 物件,並使用現有的憑證加以初始化。 新的 PKCS #7 要求物件會繼承現有憑證中的私密金鑰和公開金鑰和範本。
  5. 建立 ISignerCertificate 物件、使用現有的憑證初始化它,並將它新增至 PKCS #7 要求物件。
  6. 建立 IX509Enrollment 物件、使用 PKCS #7 要求物件初始化物件、嘗試向 CA 註冊,並監視註冊程式的狀態。 checkEnrollStatus 函式是在 enrollCommon.cpp 中定義。

CMC 要求

使用內含範例