Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
4/8/2010

The CertificateStoreconfiguration service provider allows you to add security certificates, role masks, private key containers, and renewal information to the device’s certificate store.

Starting in Windows Mobile 6.5, the functionality of the CertificateStore configuration service provider has been extended so that running under the SECROLE_USER_AUTH role, you can add, delete, or query certificates in the HKCU (User) CA, MY, and ROOT certificate stores. If SECROLE_USER_AUTH is granted the SECROLE_MANAGER role on the device, you can also add certificates to the HKLM (System) certificate stores. For more information about the certificate stores on mobile devices, see Certificate Management in Windows Mobile Devices.

Note:
This configuration service provider can be managed over both the OMA DM and the OMA Client Provisioning protocol.
Note:
Access to this configuration service provider is determined by security roles. Because OEMs and mobile operators can selectively disallow access, ask them about the availability of this configuration service provider. For more information about roles, see Security Rolesand Default Roles for Configuration Service Providers.

The ROOT, MY, and CA certificate stores have been segmented into System and User stores. This segmentation allows the user to insert or remove certificates in the User store while the System certificates remain protected. You can use the User and System parms to designate the segment to query or install a certificate.

To add or update the security roles for a specific certificate in the SPC, Privileged Execution Trust Authorities, or Unprivileged Execution Trust Authorities store, in the provisioning XML you must provide the Roleparm and the encoded certificate that is set by the EncodedCertificateparm.

Note:
The CertificateStoreconfiguration service provider supports only SHA1 hashes in all of its operations. MD5 hashes are not supported.

The default metabase settings for the CertificateStoreconfiguration service provider are as follows:

The following image shows the management object used by OMA DM.

The following image shows the configuration service provider in tree format as used by OMA Client Provisioning.

These images show the default stores. You can create other certificate stores that can also be managed by this configuration service provider.

For CertificateStore configuration service provider examples, see CertificateStore Configuration Service Provider Examples for OMA Client Provisioning.

Characteristics

*/ < certificate hash >

A second-level characteristic that specifies the SHA1 hash for the certificate. The 20-byte SHA1 hash of the certificate is specified in hexadecimal format.

CA

A certificate store that contains cryptographic information, including intermediary certification authorities.

The following table shows the default settings.

Permissions

Read/Write

Data type

String

Roles allowed to query and update setting

For HKLM stores:

Manager

For HKCU stores:

Manager

User_Auth

MY

A certificate store that contains end-user personal certificates.

The following table shows the default settings.

Permissions

Read/Write

Data type

String

Roles allowed to query and update setting

For HKLM stores:

Manager

For HKCU stores:

Manager

User_Auth

PrivateKeyContainer

Applies to MY/HKLM only. Specifies where to find the private key associated with a certificate.

This parameter is a "Write Once" parameter, which means that you can set it when you create the PIM item, but after the item has been saved, this property cannot be modified.

The following table shows the default settings.

Permissions

Read/Write

Data type

Node

Roles allowed to query and update setting

Manager

Privileged Execution Trust Authorities

A certificate store that contains privileged trust certificates. Applications signed with a certificate belonging to this store will run with privileged trust level. The role mask does not matter for this store.

The following table shows the default settings.

Permissions

Read/Write

Data type

String

Roles allowed to query and update setting

Manager

RenewalInfo

Applies to MY/HKLM only. Stores renewal information associated with a certificate.

The following table shows the default settings.

Permissions

Read/Write

Data type

Node

Roles allowed to query and update setting

Manager

ROOT

A certificate store that contains root, or self-signed, certificates.

The following table shows the default settings.

Permissions

Read/Write

Data type

String

Roles allowed to query and update setting

For HKLM stores:

Manager

For HKCU stores:

Manager

User_Auth

SPC

The Software Publishing Certificate (SPC) is used for signing .cab files and assigning the correct role mask to the .cab file installation.

The following table shows the default settings.

Permissions

Read/Write

Data type

String

Roles allowed to query and update setting

Manager

System

A segment of the ROOT, MY, and CA certificate stores that contains certificates that can only be changed under the Manager role.

The following table shows the default settings.

Permissions

Read/Write

Data type

String

Roles allowed to query and update setting

Manager

Unprivileged Execution Trust Authorities

A certificate store that contains unprivileged trust certificates. Applications signed with a certificate belonging to this store will run with normal trust level. The role mask does not matter for this store.

Note:
This setting is available only for Windows Mobile Standard.

The following table shows the default settings.

Permissions

Read/Write

Data type

String

Roles allowed to query and update setting

Manager

User

A segment of the ROOT, MY, and CA certificate stores that contains certificates that can be changed under the User_Auth role.

The following table shows the default settings.

Permissions

Read/Write

Required?

No

Data type

String

Roles allowed to query and update setting

Manager

User_Auth

Parameters

ContainerName

The ContainerName property retrieves the private key container name.

Permissions

Read/Write

Required?

Yes

Data type

String

Roles allowed to query and update setting

Manager

EncodedCertificate

This parm is used in all CertificateStorecharacteristics to specify a Base64 Encoded X.509 certificate.

IssuedBy

This read-only parm shows the name of the certificate issuer. This information is the Issuermember in the CERT_INFOstructure.

The following table shows the default settings.

Permissions

Read-only

Data type

String

Roles allowed to query and update setting

Manager

User_Auth

IssuedTo

This read-only parm shows the name of the certificate subject. This information is the Subjectmember in the CERT_INFOstructure.

The following table shows the default settings.

Permissions

Read-only

Data type

String

Roles allowed to query and update setting

Manager

User_Auth

KeySpec

The KeySpec property sets or retrieves the type of key generated.

Permissions

Read/Write

Required?

Yes

Data type

DWORD

Roles allowed to query and update setting

Manager

PickupPage

Local URL of the Web enrollment services page from which the issued certificate is picked up. The default URL is \certsrv\certnew.asp.

Permissions

Read/Write

Required?

Yes

Default Value

<same as CertEnroll configuration service provider>

Data type

String

Roles allowed to query and update setting

Manager

ProviderName

The ProviderName property retrieves the name of the cryptographic service provider (CSP).

Permissions

Read/Write

Required?

Yes

Data type

String

Roles allowed to query and update setting

Manager

ProviderType

The ProviderType property retrieves a value of the CAPICOM_PROV_TYPE enumeration that specifies the type of provider.

Permissions

Read/Write

Required?

Yes

Data type

DWORD

Roles allowed to query and update setting

Manager

RequestPage

Local URL of the Web enrollment services page to which the PKCS#10 blob is submitted. The default URL is \certsrv\certfnsh.asp.

Permissions

Read/Write

Required?

Yes

Default value

<same as CertEnroll configuration service provider>

Data type

String

Roles allowed to query and update setting

Manager

Role

This parm is used in all CertificateStorecharacteristics to specify a four-byte bit mask that corresponds to the roles that can be assigned to the certificate. The role mask is only used for certificates in the SPC store. If the Role parm is not specified for certificates that are added to the store, the role mask defaults to 0.

ServerName

The name of the CA server, for example BIGCORP-CA1 or CA1.mycorp.com.

Permissions

Read/Write

Required?

Yes

Data type

String

Roles allowed to query and update setting

Manager

Template

The template name of the certificate as used by the CA server.

Permissions

Read/Write

Required?

Yes

Default value

User

Data type

String

Roles allowed to query and update setting

Manager

TemplateName

This read-only parm specifies the template name used to produce the certificate. This is a X.509 extension that is in szOID_ENROLL_CERTTYPE_EXTENSION.

The following table shows the default settings.

Permissions

Read-only

Data type

String

Roles allowed to query and update setting

Manager

User_Auth

ValidFrom

This read-only parm shows the starting date of the certificate's validity. This information is in the NotBeforemember in the CERT_INFOstructure.

The following table shows the default settings.

Permissions

Read-only

Data type

String

Roles allowed to query and update setting

Manager

User_Auth

ValidTo

This read-only parm shows the expiration date of the certificate. This information is in the NotAftermember in the CERT_INFOstructure.

The following table shows the default settings.

Permissions

Read-only

Data type

string

Roles allowed to query and update setting

Manager

User_Auth

Microsoft Custom Elements

The following table shows the Microsoft custom elements that this configuration service provider supports for OMA Client Provisioning.

Element Supported

parm-query

Yes

noparm

No

nocharacteristic

Root level and first level: No

Second level: Yes

characteristic-query

Root level: No

First and second levels: Yes

Recursive: No

Use these elements to build standard OMA Client Provisioning configuration XML. For information about specific elements, see MSPROV DTD Elements. For general examples of how to use the Microsoft custom elements, see OMA Client Provisioning XML File Examples.

For information about OMA Client Provisioning, see OMA Client Provisioning Files.

Remarks

Security roles are used with certificates to enforce security settings that were configured by using security policies.

To set a certificate in the SPC store, the provisioning message must have sufficient permissions. For example:

  • To set a Manager certificate in the SPC store, the provisioning message must have the Manager role (8).

  • To set a User Authenticated certificate in the SPC store, the provisioning message must have the User Authenticated role (16).

See Also