BT4PT-CertificatesV1-0

BT4PT Certificates - DRAFT.

Module Info

Reference
BT4PT-CertificatesV1-0
Numeric OID
1.3.6.1.4.1.17218.1.2.7.1.0

Imports

Assignments

EndEntityCertificate

SEQUENCE

This sequence contains the following fields:

serial
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 16777216

issuingSecurityProvider
CompanyCode
caId
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 65536

validUntilYear
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 2026

The value must be less than or equal to: 2281

validUntilDay
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 366

publicKeyReconstructionData

The public key MUST be of the same EC curve as the issuing certificate's public key. If it is not the certificate MUST be treated as invalid. This public key is calculated as per SEC 4.

CHOICE

The value of this choice may be one of the following:

nistP256
ECPublicKey

This type is concretely parameterised with the following:

len
32
secp256K1
ECPublicKey

This type is concretely parameterised with the following:

len
32
nistP384
ECPublicKey

This type is concretely parameterised with the following:

len
48
nistP521
ECPublicKey

This type is concretely parameterised with the following:

len
66
extensions
SEQUENCE OF

This type is constrained in the following way:

Size

The length of the value must be greater than or equal to: 0

The length of the value must be less than or equal to: 15

CertificateExtension

CERTIFICATE-EXTENSION

A certificate extension, containing data as specified by its &Type, and encoded into an OCTET STRING as specified by its &encoding. When included in an EndEntityCertificate it is identified by its &id. If &id is not set, then the extension may not appear in an EndEntityCertificate, only an X.509 certificate. When included in an X.509 certificate, it is identified by its &oid. The identifier &id can be of the following forms:

  • + + [2-letters uppercase ISO 3166 country code] + [addon, chosen by the national standards body of that country]
  • _ + [RICS or ERA Organisation Code] + [addon, chosen by this company]
  • * + [addon] - private use, not guaranteed to avoid clashes.

Any other value only after registration in the appropriate registry. Unregistered values (outside of the national, company, and private use ranges) MUST NOT be used. If an organisation has a RICS or an ERA Organisation Code the private use format MUST NOT be used. All values SHOULD be registered via the UIC Github repository.

OBJECT CLASS

This object class has the following fields:

&id Optional

This field accepts any value of the following type:

VisibleString

This type is constrained in the following way:

Intersection

All the following must be true:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

AND

Inverse

Any value, except any satisfying the following:

Union

Any of the following can be true:

Single value

The value must be exactly: !I

OR

Single value

The value must be exactly: !C

OR

Single value

The value must be exactly: !P

This field must be unique within an object set.

&oid

This field accepts any value of the following type:

OBJECT IDENTIFIER

This field must be unique within an object set.

&Type

This field accepts any concrete type.

&encoding

This field accepts any value of the following type:

OBJECT IDENTIFIER

CertificateExtension

SEQUENCE

This sequence contains the following fields:

critical

If the data format is not recognised, or can't be processed, and it is marked critical, the certificate MUST be treated as invalid; otherwise, it is permitted to ignore extensions not understood.

BOOLEAN
format
VisibleString

This type is constrained in the following way:

Intersection

All the following must be true:

Size

The length of the value must be greater than or equal to: 1

The length of the value must be less than or equal to: 8

AND

Inverse

Any value, except any satisfying the following:

Union

Any of the following can be true:

Single value

The value must be exactly: !I

OR

Single value

The value must be exactly: !C

OR

Single value

The value must be exactly: !P

This type is constrained in the following way:

Table

The value must come from the &id column of the object set: EECertificateExtensions

value
OCTET STRING

This type is constrained in the following way:

Contents

The value must be an encoding of the following type:

ANY

This type is constrained in the following way:

Table

The value must come from the &Type column of the object set: EECertificateExtensions
The row is selected by the value of the fields: format

specimenPoisonExt

Any barcode signed by a certificate containing this poison marker MUST be considered a specimen barcode, regardless of any other specimen flag.

OBJECT

This is an object of the class: CERTIFICATE-EXTENSION

This object has the following field values:

&id
SP
&oid
id-specimenPoison
&Type
NULL
&encoding
nullEncoding

CertificateId

SEQUENCE

This sequence contains the following fields:

issuingSecurityProvider
CompanyCode
caId
INTEGER

This type is constrained in the following way:

Range

The value must be greater than or equal to: 1

The value must be less than or equal to: 65536

certificateIdExt

This extension is placed in the X.509 certificate of a CA issuing end-entity certificates. It uniquely identifies a key-pair in the BT4PT PKI. A CA certificate MAY be re-issued with updated metadata and the same certificate ID, but a change of public key requires a new certificate ID.

OBJECT

This is an object of the class: CERTIFICATE-EXTENSION

This object has the following field values:

&id
No value
&oid
id-certificateId
&Type
CertificateId
&encoding
cuperEncoding

eeCertCRLExt

This extension contains the HTTPS URL at which the X.509 Certificate Revocation List for end-entity certificates directly issued by this CA may be retrieved.

OBJECT

This is an object of the class: CERTIFICATE-EXTENSION

This object has the following field values:

&id
No value
&oid
id-eeCertCRL
&Type
VisibleString
&encoding
cuperEncoding

RevocationNotice

This extension defines a notice to be displayed to inspection staff upon encountering a revoked certificate. It is to be included as an extension to a Certificate Revocation List Entry. Each entry in the localisedNotices SHOULD convey the same information in a different language. The device performing the ticket validation can select which language, of those provided, is most appropriate to be displayed.

SEQUENCE

This sequence contains the following fields:

localisedNotices
SEQUENCE OF UnicodeText

subordinateCertificateRepositoryV1-0Ext

This extension contains the HTTPS URL at which the SubordinateCertificateList, defined in the BT4PT-MetadataV1-0 module, containing certificates directly issued by this CA may be retrieved.

OBJECT

This is an object of the class: CERTIFICATE-EXTENSION

This object has the following field values:

&id
No value
&oid
id-subordinateCertificateRepositoryV1-0
&Type
VisibleString
&encoding
cuperEncoding

LastGoodSignatureCounter

SEQUENCE

This sequence contains the following fields:

hsmId
OCTET STRING

This type is constrained in the following way:

Size

The length of the value must exactly: 8

signatureCounter
OCTET STRING

This type is constrained in the following way:

Size

The length of the value must exactly: 4

onlineValidationRequiredMarkerExt

This extension is placed in an X.509 CRL entry. It marks that the private key is likely compromised, and that online (e.g. eTCD) validation MUST be performed to assertain if a ticket is validly issued or not.

OBJECT

This is an object of the class: CERTIFICATE-EXTENSION

This object has the following field values:

&id
No value
&oid
id-onlineValidationRequiredMarker
&Type
NULL
&encoding
nullEncoding