Supported Attributes
The Certificate Enrollment API supports the following attributes. You can create an individual attribute by using the corresponding interface identified in each of the following sections.
ClientId
The IX509AttributeClientId interface can be used to define an attribute that contains information about the client computer that sent the certificate request. The information can be used for diagnostics.
Applies To: PKCS #10 or CMC request.
OID: XCN_OID_REQUEST_CLIENT_INFO (1.3.6.1.4.1.311.21.20)
Extensions
The IX509AttributeExtensions interface can be used to define a set of X.509 version 3 certificate extensions. The following extensions are supported. For more information, see the Extension Interfaces topic.
Extension | Description |
---|---|
AlternativeNames | Contains one or more alternative name forms of the issuer associated with the certificate. |
AuthorityKeyIdentifier | Contains a unique key identifier to differentiate between multiple certificate signing keys of the certification authority (CA). |
BasicConstraints | Indicates whether the subject can act as a CA. |
CertificatePolicies | Identifies the policies and optional qualifier information associated with the certificate. |
MSApplicationPolicies | Identifies one or more uses for the certificate. This extension is similar to the EnhancedKeyUsage extension but is Microsoft-defined. |
EnhancedKeyUsage | Identifies one or more uses of the public key contained in the certificate. The enhanced key usage extension can be used in addition to or in place of the key usage extension. |
KeyUsage | Identifies restrictions on the operations that can be performed by the public key contained in the certificate. |
SmimeCapabilities | Reports the decryption capabilities of an email recipient to the email sender to enable the sender to choose the most secure symmetric algorithm supported by both parties. |
SubjectKeyIdentifier | Contains a unique key identifier that can be used to differentiate between multiple signing keys associated with the certificate owner. |
Template | Identifies the template to use when issuing or renewing a certificate. The extension contains the object identifier (OID) of the template. |
TemplateName | Identifies the template to use when issuing or renewing a certificate. The extension contains the name of the template. |
Applies To: PKCS #10 request.
OID: XCN_OID_RSA_certExtensions (1.2.840.113549.1.9.14)
ArchiveKey
The IX509AttributeArchiveKey interface can be used to define an attribute that contains an encrypted private key submitted to a CA for archiving.
Applies To: CMC request.
OID: XCN_OID_ARCHIVED_KEY_ATTR (1.3.6.1.4.1.311.21.13)
ArchiveKeyHash
The IX509AttributeArchiveKeyHash interface can be used to define a hash of the private key contained in the ArchiveKey attribute.
Applies To: CMC request.
OID: XCN_OID_ENCRYPTED_KEY_HASH (1.3.6.1.4.1.311.21.21)
CspProvider
The IX509AttributeCspProvider interface can be used to define an attribute that contains information about the cryptographic service provider (CSP) used by the requester for cryptographic operations.
Applies To: PKCS #10 request. This attribute is automatically created when you create an IX509CertificateRequestPkcs10 object.
OID: XCN_OID_ENROLLMENT_CSP_PROVIDER (1.3.6.1.4.1.311.13.2.2)
OSVersion
The IX509AttributeOSVersion interface can be used to create an attribute that contains version information about the client operating system. The information can be used by the CA to determine the type of processing to apply when creating the certificate.
Applies To: PKCS #10 or CMC request.
OID: XCN_OID_OS_VERSION (1.3.6.1.4.1.311.13.2.3)
RenewalCertificate
The IX509AttributeRenewalCertificate interface can be used to create an attribute that contains the certificate being renewed.
Applies To: PKCS #10 request. This attribute is automatically created if you create a PKCS #10 request by initiating it with the certificate being renewed.
OID: XCN_OID_RENEWAL_CERTIFICATE (1.3.6.1.4.1.311.13.1)