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. |
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:
- Unprivileged Execution Trust Authorities\*
Applications signed with a certificate belonging to this store will run with normal trust level. This setting is a string that has read/write permissions. The Manager role is allowed to query and update this setting.
Note: This setting is available only for Windows Mobile Standard. - Privileged Execution Trust Authorities\*
Applications signed with a certificate belonging to this store will run with privileged trust level. This setting is a string that has read/write permissions. The Manager role is allowed to query and update this setting.
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).