ICertProperty::InitializeFromCertificate method

The InitializeFromCertificate method initializes the object by using a property value associated with an existing certificate.

Syntax


HRESULT InitializeFromCertificate(
  [in] VARIANT_BOOL MachineContext,
  [in] EncodingType Encoding,
  [in] BSTR         strCertificate
);

Parameters

MachineContext [in]

A VARIANT_BOOL value that indicates whether the certificate store is for the local computer or the current user. Specify VARIANT_TRUE for the computer and VARIANT_FALSE for the user.

Encoding [in]

An EncodingType enumeration value that specifies the type of Unicode encoding applied to the certificate contained in the strCertificate parameter.

strCertificate [in]

A BSTR variable that contains the DER-encoded certificate.

Beginning with Windows 7 and Windows Server 2008 R2, you can specify a certificate thumb print or serial number rather than an encoded certificate. Doing so causes the function to search the appropriate local stores for the matching certificate. Keep in mind the following points:

  • The BSTR must be an even number of hexadecimal digits.
  • Whitespace between hexadecimal pairs is ignored.
  • The Encoding parameter must be set to XCN_CRYPT_STRING_HEXRAW.
  • The MachineContext parameter determines whether the user or computer stores or both are searched.
  • If a private key is needed, only the personal and request stores are searched.
  • If a private key is not needed, the root and intermediate CA stores are also searched.

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/valueDescription
CRYPT_E_NOT_FOUND

The certificate could not be found.

CRYPT_E_UNEXPECTED_MSG_TYPE

The certificate was found but the private key could not be loaded.

 

Remarks

Specify the property to initialize by calling the PropertyId property. You can call the RawData property to retrieve an encoded string that contains the property.

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2008 [desktop apps only]

Header

CertEnroll.h

DLL

CertEnroll.dll

See also

ICertProperties
ICertProperty

 

 

Community Additions

ADD
Show: