3.1.1.1.2 Request Table Optional Data Elements

Values for the following elements of the Request table SHOULD be maintained by the CA:

Request_Key_Recovery_Hashes: Column name "Request.KeyRecoveryHashes". Unique identifiers of the key recovery agent (KRA) certificates that are required to retrieve an archived private key.

Request_Raw_Old_Certificate: Column name "Request.RawOldCertificate". In the case of a renewal, the preceding certificate.

Request_Request_Attributes: Column name "Request.RequestAttributes". The certificate request attributes as defined in [MS-WCCE].

Request_Request_Type: Column name "Request.RequestType". The type or format of a certificate request, such as PKCS#10 or the Cryptographic Message Syntax (CMS) standard with Common Messaging Calls (CMC) as specified in [RFC2797].

Request_Request_Flags: Column name "Request.RequestFlags". Additional certificate request information.

The following are examples of request flag values. These flag values can be used in any combination.

Name

Value

Description

CR_FLG_FORCETELETEX

0x00000001

For encoding of the subject information in the certificate, a T61String type is used for elements that contain a Unicode character in the value.

CR_FLG_RENEWAL

0x00000002

The certificate request is a renewal request.

CR_FLG_FORCEUTF8

0x00000004

For encoding of the subject information in the certificate, a UTF8String type is used for elements that contain a Unicode character in the value.

CR_FLG_CAXCHGCERT

0x00000008

The certificate is the exchange certificate of the CA.

CR_FLG_ENROLLONBEHALFOF

0x00000010

The certificate request is an Enroll-on-behalf-of request.

CR_FLG_SUBJECTUNMODIFIED

0x00000020

The subject information in the certificate is an unmodified binary copy of the subject information from the certificate request.

CR_FLG_VALIDENCRYPTEDKEYHASH

0x00000040

For a certificate request with key archival, the CMC Full response includes the szOID_ENCRYPTED_KEY_HASH attribute.

CR_FLG_CACROSSCERT

0x00000080

The certificate is the cross certificate of the CA.

CR_FLG_ENFORCEUTF8

0x00000100

For encoding of the subject information in the certificate, a UTF8String type is used for directory string elements.

CR_FLG_DEFINEDCACERT

0x00000200

The certificate request contains an Authority Key Identifier extension that identifies the desired CA signing key for the certificate.

CR_FLG_CHALLENGEPENDING *

0x00000400

An attestation challenge ([MS-WCCE] section 3.2.2.6.2.1.2.6) for the corresponding certificate request has been sent to the client, and the server is waiting for a response.

CR_FLG_CHALLENGESATISFIED *

0x00000800

The client responded correctly to the attestation challenge for the corresponding certificate request ([MS-WCCE] section 3.2.2.6.2.1.2.7).

CR_FLG_TRUSTONUSE *

0x00001000

Verification of the requester's credentials for key attestation has succeeded ([MS-WCCE] section 3.2.2.6.2.1.2.5).

CR_FLG_TRUSTEKCERT *

0x00002000

Verification of the client's TPM hardware certificate for key attestation has succeeded ([MS-WCCE] section 3.2.2.6.2.1.2.5).

CR_FLG_TRUSTEKKEY *

0x00004000

Verification of the public key of the client's TPM's hardware key pair for key attestation has succeeded ([MS-WCCE] section 3.2.2.6.2.1.2.5).

CR_FLG_PUBLISHERROR

0x80000000

The CA had difficulty publishing the certificate to the directory that is specified in the userCertificate attribute of the entity.

* Support for these flags is specified in the following product behavior note.<6>

Request_Status_Code: Column name "Request.StatusCode". Indicates whether the request was successful.

The value is 0 if the request processed successfully. Otherwise, this field contains an error code that results from request processing. Error codes are as specified in section 2.2.5 of this document and in [MS-ERREF].

Request_Disposition_Message: Column name "Request.DispositionMessage". The text description of Request_Disposition. Request_Disposition_Message is for presentation to a user and can contain any text string, including NULL, that the implementer considers informative.

Request_Submitted_When: Column name "Request.SubmittedWhen". The CERTTIME that a request was received by the CA.

Request_Resolved_When: Column name "Request.ResolvedWhen". The CERTTIME that the CA completed request processing (whether successfully or unsuccessfully).

Request_Revoked_When: Column name "Request.RevokedWhen". The CERTTIME that the CA processed a call to the ICertAdminD::RevokeCertificate function. This field is initialized as NULL and updated by the ICertAdminD::RevokeCertificate function.

Request_Requester_Name: Column name "Request.RequesterName". The RequesterName that is included in the certificate request.

Request_Caller_Name: Column name "Request.CallerName".  The user or machine context that submitted the certificate request to the CA.

Request_Signer_Policies: Column name "Request.SignerPolicies". The list of valid certificate policy OIDs (1) for each signer certificate from the certificate request.

Request_Signer_Application_Policies: Column name "Request.SignerApplicationPolicies". The list of valid Extended Key Usage OIDs (1) for each signer certificate from the certificate request.

Request_Officer: Column name "Request.Officer". Indicates whether the caller is the certificate manager of the entity that corresponds to the Request_Requester_Name.

Request_Distinguished_Name: Column name "Request.DistinguishedName". The distinguished name (DN) from the Subject attribute of the certificate request (string representation).

Request_Raw_Name: Column name "Request.RawName". Subject information from the certificate request (ASN.1 DER encoded).

Request_Country: Column name "Request.Country". The country attribute of the DN from the Subject of the certificate request.

Request_Organization: Column name "Request.Organization". The organization attribute of the DN from the Subject of the certificate request.

Request_Org_Unit: Column name "Request.OrgUnit". The organizational-unit attribute of the DN from the Subject of the certificate request.

Request_Common_Name: Column name "Request.CommonName". The common name attribute of the DN from the Subject of the certificate request.

Request_Locality: Column name "Request.Locality". The locality attribute of the DN from the Subject of the certificate request.

Request_State: Column name "Request.State". The state or province name attribute of the DN from the Subject of the certificate request.

Request_Title: Column name "Request.Title". The title attribute of the DN from the Subject of the certificate request.

Request_Given_Name: Column name "Request.GivenName". The given name (also called first name) attribute of the DN from the Subject of the certificate request.

Request_Initials: Column name "Request.Initials". The initials attribute of the DN from the Subject of the certificate request.

Request_SurName: Column name "Request.SurName". The surname attribute of the DN from the Subject of the certificate request.

Request_Domain_Component: Column name "Request.DomainComponent". The domainComponent attribute of the DN from the Subject of the certificate request.

Request_Email: Column name "Request.EMail". The EmailAddress attribute of the DN from the Subject of the certificate request.

Request_Street_Address: Column name "Request.StreetAddress". The street address attribute of the DN from the Subject of the certificate request.

Request_Unstructured_Name: Column name "Request.UnstructuredName". The unstructured name attribute of the DN from the Subject of the certificate request.

Request_Unstructured_Address: Column name "Request.UnstructuredAddress". The unstructured address attribute of the DN from the Subject of the certificate request.

Request_Device_Serial_Number: Column name "Request.DeviceSerialNumber". The device serial number attribute of the DN from the Subject of the certificate request.

Request_RequesterName_From_Old_Certificate: Column name "Request.RequesterNameFromOldCertificate". For a renewal request that is signed by the previously issued certificate, the subject name of the old certificate.<7>

Request_Attestation_Challenge: Column name "Request.AttestationChallenge". The secret passed to the client in the attestation challenge message, encrypted with the CA exchange certificate.

Request_Endorsement_Key_Hash: Column name "Request.EndorsementKeyHash". The SHA-2 hash of the hardware key that was used to TPM-attest the request.

Request_Endorsement_Certificate_Hash: Column name "Request.EndorsementCertificateHash". The SHA2 hash of the hardware certificate used to TPM-attest the request.

Request_ID: Column name "RequestID". The RequestID that corresponds to an issued certificate.

Certificate_Hash: Column name "CertificateHash". The SHA-1 hash over the value of the Raw_Certificate column.

Certificate_Template: Column name "CertificateTemplate". extnValue of extension with OID (1) 1.3.6.1.4.1.311.20.2 of issued certificate.

Enrollment_Flags: Column name "EnrollmentFlags". The values that are defined in "EnrollmentFlags" from [MS-CRTD].

General_Flags: Column name "GeneralFlags". The values that are defined in "GeneralFlags" from [MS-CRTD].

Issuer_Name_Id: Column name "IssuerNameId". A sequential number that indicates which CA key signed the issued certificate.

Not_Before: Column name "NotBefore". The CERTTIME that provides the value for the Validity->notBefore field ([RFC3280] section 4.1.2.5) of the issued certificate.

Not_After: Column name "NotAfter". The CERTTIME that provides the value for the Validity->notAfter field ([RFC3280] section 4.1.2.5) of the issued certificate.

Subject_Key_Identifier: Column name "SubjectKeyIdentifier". The SubjectKeyIdentifier extension ([RFC3280] section 4.2.1.2) of the issued certificate.

Raw_Public_Key: Column name "RawPublicKey". The SubjectPublicKeyInfo->subjectPublicKey field [RFC3280] of the issued certificate.

Public_Key_Length: Column name "PublicKeyLength". The length of the SubjectPublicKeyInfo->subjectPublicKey field of the issued certificate.

Public_Key_Algorithm: Column name "PublicKeyAlgorithm". The SubjectPublicKeyInfo->algorithm->algorithm field of the issued certificate.

Raw_Public_Key_Algorithm_Parameters: Column name "RawPublicKeyAlgorithmParameters". The SubjectPublicKeyInfo->algorithm->parameters field of the issued certificate.

UPN: Column name "UPN". The UPN alternate name entry from the SubjectAltName extension in the certificate.

Distinguished_Name: Column name "DistinguishedName". The Subject field ([RFC3280] section 4.1.2.6) of the issued certificate (string representation).

Raw_Name: Column name "RawName". The Subject information of the issued certificate (ASN.1 DER encoded).

Country: Column name "Country". The country attribute of the certificate Subject.

Organization: Column name "Organization". The organization attribute of the certificate Subject.

Org_Unit: Column name "OrgUnit". The organizational-unit attribute of the certificate Subject.

Common_Name: Column name "CommonName". The common name attribute of the certificate Subject.

Locality: Column name "Locality". The locality attribute of the certificate Subject.

State: Column name "State". The state or province name attribute of the certificate Subject.

Title: Column name "Title". The title attribute of the certificate Subject.

Given_Name: Column name "GivenName". The given name attribute of the certificate Subject.

Initials: Column name "Initials". The initials attribute of the certificate Subject.

SurName: Column name "SurName". The surname attribute of the certificate Subject.

Domain_Component: Column name "DomainComponent". The domainComponent attribute of the certificate Subject.

Email: Column name "EMail". The [RFC822] Name attribute from the Subject Alternative Name of the issued certificate.

Street_Address: Column name "StreetAddress". The street address attribute of the certificate Subject.

Unstructured_Name: Column name "UnstructuredName". The unstructured name attribute of the certificate Subject.

Unstructured_Address: Column name "UnstructuredAddress". The unstructured address attribute of the certificate Subject.

Device_Serial_Number: Column name "DeviceSerialNumber". The serial number attribute of the certificate Subject.