共用方式為


createCNGCustomCMC

createCNGCustomCMC 範例會從內部巢狀 PKCS #10 要求建立 CMC 要求物件。 內部要求是使用非對稱 私鑰所建立。 私鑰是使用密碼編譯 API:新一代 (CNG) 密碼編譯提供者和命令行上指定的演算法所建立。 匯出原則和金鑰保護層級等自定義選項也會在私鑰上設定。

Location

當您安裝 Microsoft Windows 軟體開發工具包 (SDK) 時,範例預設 會安裝在 %ProgramFiles%\Microsoft SDK\Windows\v7.0\Samples\Security\X509 憑證註冊\VC\createCNGCustomCMC 資料夾中。

討論

createCNGCustomCMC 範例:

  1. 處理下列命令列自變數:
    • CNG 密碼編譯服務提供者 的名稱(CSP)。
    • 用來產生非對稱私鑰的演演算法名稱。
    • 用來哈希憑證要求的演算法名稱。
    • 要在其中儲存憑證要求的輸出檔案。
    • 選擇性字串 (AlternateSignature),如果存在,則會指定使用離散而非合併的簽章演算法。 如需詳細資訊,請參閱 AlternateSignatureAlgorithm 屬性。
  2. 建立 IX509PrivateKey 物件,並設定下列屬性:
  3. 建立非對稱私鑰。
  4. 建立IX509CertificateRequestPkcs10物件,並使用私鑰將其初始化。
  5. 建立 IX509CertificateRequestCmc 物件,並使用步驟 4 中建立的 PKCS #10 要求對象來初始化它。
  6. 根據命令行上是否指定替代簽章字串,將替代簽章演算法旗標設定為 VARIANT_TRUEVARIANT_FALSE 。 如需詳細資訊,請參閱 AlternateSignatureAlgorithm
  7. 從命令行上指定的演算法名稱建立哈希演算法物件識別碼 (OID),並在 CMC 要求物件上設定 OID。
  8. 使用 可辨別編碼規則 (DER) 簽署憑證要求並將其編碼。
  9. 擷取包含編碼 CMC 憑證要求的字串,並將它儲存至檔案。 EncodeToFileW 函式定義於 EnrollCommon.cpp。

CMC 要求

PKCS #10 要求

使用包含的範例

IX509PrivateKey