IX509CertificateRequest::Initialize 方法 (certenroll.h)
Initialize 方法會初始化使用者或電腦的要求物件。
語法
HRESULT Initialize(
[in] X509CertificateEnrollmentContext Context
);
參數
[in] Context
X509CertificateEnrollmentContext 列舉值,指定憑證是否適用於使用者、計算機或代表計算機的系統管理員。 這可以是下列其中一個值。
值 | 意義 |
---|---|
|
正在要求終端用戶的憑證。 |
|
正在要求計算機的憑證。 |
|
系統管理員正在代表計算機要求憑證。 |
傳回值
如果函式成功,函式會傳回 S_OK。
如果函式失敗,它會傳回 指出錯誤的 HRESULT 值。 可能的值包括 (但不限於) 下表中的這些值。 如需常見錯誤碼的清單,請參閱 一般 HRESULT 值。
傳回碼 | Description |
---|---|
|
對象已經初始化。 |
備註
Initialize 方法會根據所建立的憑證要求類型,初始化各種物件。 如果您從 IX509CertificateRequestPkcs10 物件呼叫此方法,則會建立私鑰物件,並初始化下列物件:
- 空的 ICryptAttributes 集合。
- 空的 IX509Extensions 集合。
- 包含默認關鍵擴充物件標識符的 IObjectIds 集合,XCN_OID_KEY_USAGE和XCN_OID_BASIC_CONSTRAINTS2。 呼叫 CriticalExtensions 屬性即可擷取此集合。
- SuppressOids 屬性的空白 IObjectIds 集合。
- ICspInformations 物件,其中包含您在 CSPInformations 屬性中指定的值,或是計算機上安裝之所有提供者的集合。 此集合用來建立私鑰。
如果您從 IX509CertificateRequestCmc 物件呼叫此方法,內部 PKCS #10 要求會建立為上方,並初始化下列物件:
- 空的 ICryptAttributes 集合。
- 空的 IX509NameValuePairs 集合。
- 空的 IX509Extensions 集合。
- 包含默認關鍵擴充物件標識符的 IObjectIds 集合,XCN_OID_KEY_USAGE和XCN_OID_BASIC_CONSTRAINTS2。 呼叫 CriticalExtensions 屬性即可擷取此集合。
- SuppressOids 屬性的空白 IObjectIds 集合。
- 空的 ISignerCertificates 集合。
如果您從 IX509CertificateRequestPkcs7 物件呼叫此方法,則會建立如上所示的內部 PKCS #10 要求。
呼叫這個方法之前,可以呼叫下列屬性。
如果您想要指定 ICspInformations 集合,您必須先呼叫 CSPInformations 屬性,才能呼叫此方法。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | certenroll.h |
Dll | CertEnroll.dll |