createCNGCustomCMC
createCNGCustomCMC 範例會從內部巢狀 PKCS #10 要求建立 CMC 要求物件。 內部要求是使用非對稱 私鑰所建立。 私鑰是使用密碼編譯 API:新一代 (CNG) 密碼編譯提供者和命令行上指定的演算法所建立。 匯出原則和金鑰保護層級等自定義選項也會在私鑰上設定。
Location
當您安裝 Microsoft Windows 軟體開發工具包 (SDK) 時,範例預設 會安裝在 %ProgramFiles%\Microsoft SDK\Windows\v7.0\Samples\Security\X509 憑證註冊\VC\createCNGCustomCMC 資料夾中。
討論
createCNGCustomCMC 範例:
- 處理下列命令列自變數:
- CNG 密碼編譯服務提供者 的名稱(CSP)。
- 用來產生非對稱私鑰的演演算法名稱。
- 用來哈希憑證要求的演算法名稱。
- 要在其中儲存憑證要求的輸出檔案。
- 選擇性字串 (AlternateSignature),如果存在,則會指定使用離散而非合併的簽章演算法。 如需詳細資訊,請參閱 AlternateSignatureAlgorithm 屬性。
- 建立 IX509PrivateKey 物件,並設定下列屬性:
- 建立非對稱私鑰。
- 建立IX509CertificateRequestPkcs10物件,並使用私鑰將其初始化。
- 建立 IX509CertificateRequestCmc 物件,並使用步驟 4 中建立的 PKCS #10 要求對象來初始化它。
- 根據命令行上是否指定替代簽章字串,將替代簽章演算法旗標設定為 VARIANT_TRUE 或 VARIANT_FALSE 。 如需詳細資訊,請參閱 AlternateSignatureAlgorithm。
- 從命令行上指定的演算法名稱建立哈希演算法物件識別碼 (OID),並在 CMC 要求物件上設定 OID。
- 使用 可辨別編碼規則 (DER) 簽署憑證要求並將其編碼。
- 擷取包含編碼 CMC 憑證要求的字串,並將它儲存至檔案。 EncodeToFileW 函式定義於 EnrollCommon.cpp。
相關主題