IX509CertificateRequestPkcs7::InitializeFromTemplateName 方法 (certenroll.h)
InitializeFromTemplateName 方法會使用範本初始化憑證要求。
語法
HRESULT InitializeFromTemplateName(
[in] X509CertificateEnrollmentContext Context,
[in] BSTR strTemplateName
);
參數
[in] Context
X509CertificateEnrollmentContext 列舉值,指定要求的憑證是否適用於使用者、計算機或代表計算機的系統管理員。
[in] strTemplateName
BSTR 變數,其中包含範本的一般名稱 (CN) ,如 Active Directory 或虛線小數點物件標識碼所示。
傳回值
如果函式成功,函式會傳回 S_OK。
如果函式失敗,它會傳回 HRESULT 值,指出錯誤。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
傳回碼/值 | Description |
---|---|
|
憑證要求對象已經初始化。 |
備註
InitializeFromTemplateName 方法會建立 PKCS #7 要求物件,並將下列屬性設定為呼叫此方法之前存在的值:
方法會建立下列集合:- ICryptAttributes 集合。
- IX509Extensions 集合。
- 填入預設XCN_OID_KEY_USAGE和XCN_OID_BASIC_CONSTRAINTS2物件標識符的 IObjectIds 集合。
- 要從新要求隱藏之屬性和延伸模組 OID 的空 IObjectIds 集合。
方法接著會檢查範本,並執行下列動作:
- 將範本指定的延伸模組新增至 IX509Extensions 集合。
- 如果範本指出它們不重要,請從集合中移除預設的重要延伸模組 (XCN_OID_KEY_USAGE 和XCN_OID_BASIC_CONSTRAINTS2) 。 範本標示為重大的 OID 會新增。
- 如果範本支援對稱演算法,請設定 SmimeCapabilities 屬性。
- 如果範本需要離散簽章演算法 OID,請設定 AlternateSignatureAlgorithm 屬性。
- 建立 IX509SignatureInformation 物件。
- 如果在範本中指定演算法,並在 IX509SignatureInformation 對象上設定該演算法,則會建立哈希演算法 OID。
- 如果在範本中指定演算法,並在 IX509SignatureInformation 對象上設定演算法,則會建立非對稱加密演算法 OID。
- 從樣本設定設定設定下列 IX509PrivateKey 屬性:
如果 CSPInformations 屬性為 NULL,此方法會從電腦上安裝的提供者建立 ICspInformations 集合。
最後,方法會將初始化的 PKCS #10 要求設定為內部要求物件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certenroll.h |
Dll | CertEnroll.dll |