IX509CertificateRequest::Initialize method (certenroll.h)
The Initialize method initializes the request object for a user or a computer.
Syntax
HRESULT Initialize(
[in] X509CertificateEnrollmentContext Context
);
Parameters
[in] Context
An X509CertificateEnrollmentContext enumeration value that specifies whether the certificate is intended for an end user, a computer, or an administrator acting on behalf of a computer. This can be one of the following values.
Return value
If the function succeeds, the function returns S_OK.
If the function fails, it returns an HRESULT value that indicates the error. Possible values include, but are not limited to, those in the following table. For a list of common error codes, see Common HRESULT Values.
Return code | Description |
---|---|
|
The object is already initialized. |
Remarks
The Initialize method initializes various objects depending on the type of certificate request being created. If you call this method from an IX509CertificateRequestPkcs10 object, a private key object is created and the following objects are initialized:
- An empty ICryptAttributes collection.
- An empty IX509Extensions collection.
- An IObjectIds collection that contains the default critical extension object identifiers, XCN_OID_KEY_USAGE and XCN_OID_BASIC_CONSTRAINTS2. This collection can be retrieved by calling the CriticalExtensions property.
- An empty IObjectIds collection for the SuppressOids property.
- An ICspInformations object that contains the values you specified in the CSPInformations property or a collection of all providers installed on the computer. This collection is used to create a private key.
If you call this method from an IX509CertificateRequestCmc object, an inner PKCS #10 request is created as above and the following objects are initialized:
- An empty ICryptAttributes collection.
- An empty IX509NameValuePairs collection.
- An empty IX509Extensions collection.
- An IObjectIds collection that contains the default critical extension object identifiers, XCN_OID_KEY_USAGE and XCN_OID_BASIC_CONSTRAINTS2. This collection can be retrieved by calling the CriticalExtensions property.
- An empty IObjectIds collection for the SuppressOids property.
- An empty ISignerCertificates collection.
If you call this method from an IX509CertificateRequestPkcs7 object, an inner PKCS #10 request is created as above.
The following properties can be called before you call this method.
You must call the CSPInformations property before calling this method if you want to specify an ICspInformations collection.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | certenroll.h |
DLL | CertEnroll.dll |