共用方式為


enrollCustomPKCS10

enrollCustomPKCS10 範例會建立自訂 PKCS #10 要求、將它提交至獨立憑證授權單位單位 (CA) ,並在憑證存放區中安裝發行的憑證。 獨立 CA 不需要 Active Directory,也不會使用範本。

位置

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

討論

enrollCustomPKCS10 範例:

  1. 處理命令列引數。 命令列應包含 X.500 憑證主體名稱、電子郵件 (RFC822) 名稱,以及增強金鑰使用方式 (EKU) 物件識別碼 (OID) 。 例如,您可以指定要註冊 user1@example.com 的下列引數:
    • 主體名稱:「CN=user1,DC=example,DC=com
    • RFC822 名稱: user1@example.com
    • 用戶端驗證 EKU OID:1.3.6.1.5.5.7.3.2
  2. 建立IX509CertificateRequestPkcs10物件,並藉由指定X509CertificateEnrollmentCoNtext列舉的CoNtextUser值,為終端使用者初始化它。
  3. 建立 IX500DistinguishedName 物件、使用 物件將主體名稱編碼為位元組陣列,並將陣列新增至 PKCS #10 要求物件。
  4. 建立IObjectId物件、使用 EKU 物件識別碼 (命令列上指定的 OID) 初始化物件、建立IObjectIds 集合、將新的 IObjectId (EKU) 物件新增至集合、使用集合初始化IX509ExtensionEnhancedKeyUsage物件,並將這個物件新增至要求。
  5. 建立 IAlternativeName 物件、使用命令列上指定的 RFC822 名稱初始化它、建立 IAlternativeNames 集合、將新的 IAlternativeName (RFC822 name ) 物件新增至集合、建立 IX509ExtensionAlternativeNames 物件,並將這個物件新增至要求。
  6. 建立 IX509Enrollment 物件、使用 IX509CertificateRequestPkcs10 物件初始化它,並擷取包含 base64 編碼要求的字串。
  7. 建立 ICertConfig 物件,並用它來擷取包含 CA 組態的字串。
  8. 建立 CryptoAPI ICertRequest2 物件,並使用它加上包含 CA 組態的字串和憑證要求,以將要求提交至 CA。
  9. 檢查提交狀態,如果註冊成功,請將憑證安裝至憑證存放區。

PKCS #10 要求

使用內含範例