Module Info
- Reference
BarcodeHeader- Numeric OID
1.3.6.1.4.1.17218.1.0.1.3.0
UIC barcode header - version 3.0.0
A barcode which is only static, and for which the security is in the system (e.g. security paper), does not need a signature. A barcode which is only static, and includes its own security, needs a level 1 signature and a corresponding key reference. A dynamic barcode including static and dynamic signatures needs the same elements as a static barcode, plus a level 2 signature.
The maximum size of a barcode is, per the Aztec specification ISO 24778, limited to 1914 bytes.
BarcodeHeader1.3.6.1.4.1.17218.1.0.1.3.0This module explicitly exports the following symbols:
BarcodeHeaderCompanyCode Timestamp DataFormatIdentifier Data DATA-ELEMENT
The basic entry point of the barcode.
This sequence contains the following fields:
This field SHALL be set to the byte string U3.
This results in the version 3 header being prefixed with U3 at the start, allowing identification of this
format of barcode header.
This type is constrained in the following way:
The length of the value must exactly:
2
This type is concretely parameterised with the following:
This sequence contains the following fields:
Dynamic Content Data goes here.
This type is constrained in the following way:
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
This type is concretely parameterised with the following:
This type is constrained in the following way:
The type must satisfy the following field constraints, other fields are unconstrained:
| Field | Presence | Value |
|---|---|---|
| format | No stipulation |
InverseAny value, except any satisfying the following: UnionAny of the following can be true: Single value
The value must be exactly:
OR Single value
The value must be exactly:
OR Single value
The value must be exactly:
|
Provider of the level 1 signature.
This sequence contains the following fields:
This type is constrained in the following way:
The value must be greater than or equal to:
0
The value must be less than or equal to:
99999
The value of this choice may be one of the following:
Must use the standard variety, message recovery format to be decided upon at a later date.
Standard variety signature calculated over BarcodeTBSData.
This type is concretely parameterised with the following:
Must not be used, format to be decided upon at a later date.
This sequence contains the following fields:
Standard variety signature calculated over EndEntityCertificateTBSData.
This type is concretely parameterised with the following:
This type is concretely parameterised with the following:
This type is constrained in the following way:
This constraint is declared in a comment in the source code.
Concretely parameterised form for use in calculating the signature for the directlyIssued variant of Level1Data.
This type is concretely parameterised with the following:
Concretely parameterised form for use in calculating the signature for the subIssued.endEntityCertificate variant of Level1Data.
This type is concretely parameterised with the following:
This assignment is parameterised, accepting the following parameters:
The value of this choice may be one of the following:
This type is concretely parameterised with the following:
This type is constrained in the following way:
This constraint is declared in a comment in the source code.
Standardised container for conveying a message with an optional signature providing authenticity and integrity guarantees.
This assignment is parameterised, accepting the following parameters:
The type defining the message to be conveyed.
The type allowing differentiation of which key pair was used to sign the message.
This sequence contains the following fields:
The signature is calculated over the canonical unaligned PER (CUPER) encoding of StandardTBSData{DataType, KeyReference}.
Note: when KeyReference is NULL this is equivalent to the CUPER encoding of DataType.
Being unset only permitted when no security is required.
This sequence contains the following fields:
This assignment is parameterised, accepting the following parameters:
This sequence contains the following fields:
Values taken from the IANA JSON Web Signature and Encryption Algorithm registry.
The value of this choice may be one of the following:
ECDSA using the P-256 curve and SHA-256.
This type is concretely parameterised with the following:
32
ECDSA using the secp256k1 curve and SHA-256.
This type is concretely parameterised with the following:
32
ECDSA using the NIST P-384 curve and SHA-384.
This type is concretely parameterised with the following:
48
ECDSA using the NIST P-521 curve and SHA-512.
This type is concretely parameterised with the following:
66
This type is constrained in the following way:
The length of the value must exactly:
64
This type is constrained in the following way:
The length of the value must exactly:
114
HMAC using SHA-256, not permitted except by bilateral agreement.
This type is constrained in the following way:
The length of the value must exactly:
32
HMAC using SHA-384, not permitted except by bilateral agreement.
This type is constrained in the following way:
The length of the value must exactly:
48
HMAC using SHA-512, not permitted except by bilateral agreement.
This type is constrained in the following way:
The length of the value must exactly:
64
DSA-1024 using SHA-1, not recommended for new deployments.
This type is concretely parameterised with the following:
20
DSA-2048 using SHA-224, not recommended for new deployments.
This type is concretely parameterised with the following:
32
DSA-2048 using SHA-256, not recommended for new deployments.
This type is concretely parameterised with the following:
32
Space for future signature modes, e.g. Post-Quantum Cryptography.
Space for future signature modes, e.g. Post-Quantum Cryptography.
Space for future signature modes, e.g. Post-Quantum Cryptography.
This sequence contains the following fields:
A generic container for the conveyance of Digital Signature Scheme signatures, e.g. ECDSA and DSA.
This assignment is parameterised, accepting the following parameters:
The length, in bytes, of each of r and s. That is, half the total signature length.
This sequence contains the following fields:
This type is constrained in the following way:
The length of the value must exactly: Parameter len
This type is constrained in the following way:
The length of the value must exactly: Parameter len
The value of this choice may be one of the following:
This type is concretely parameterised with the following:
32
This type is concretely parameterised with the following:
32
This type is concretely parameterised with the following:
48
This type is concretely parameterised with the following:
66
This type is constrained in the following way:
The length of the value must exactly:
32
This type is constrained in the following way:
The length of the value must exactly:
57
Space for future public key formats, e.g. Post-Quantum Cryptography.
DER encoded SubjectPublicKeyInfo.
This assignment is parameterised, accepting the following parameters:
The length, in bytes, required to represent the x coördinate on a curve.
This sequence contains the following fields:
This type is constrained in the following way:
The length of the value must exactly: Parameter len
Purposefully left blank, format to be decided upon at a later date.
Purposefully left blank, format to be decided upon at a later date.
This sequence contains the following fields:
This field MUST contain at most one well-known UIC data type (e.g. FCBn).
This type is constrained in the following way:
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:
16
This type is concretely parameterised with the following:
This type is constrained in the following way:
The type must satisfy the following field constraints, other fields are unconstrained:
| Field | Presence | Value |
|---|---|---|
| format | No stipulation |
InverseAny value, except any satisfying the following: UnionAny of the following can be true: Single value
The value must be exactly:
OR Single value
The value must be exactly:
OR Single value
The value must be exactly:
|
End of the validity of the barcode. After this date and time the barcode needs to be regenerated by the provider of the ticket. The provider of the bar code MUST ensure that the endOfValidity given here does not exceed the validity of the key pair used on level 2.
Validity duration in seconds of the barcode with reference to the time stamp in the dynamic content data.
This type is constrained in the following way:
The value must be greater than or equal to:
1
The value must be less than or equal to:
3600
This object set has the following members:
| &id | &Type | &encoding |
|---|---|---|
MMT1
|
MultiModalTicket | cuperEncoding |
FPD1
|
FixedPoint | cuperEncoding |
FCB3
|
UicRailTicketData | cuperEncoding |
FCB2
|
UicRailTicketData | cuperEncoding |
FCB13
|
UicRailTicketData | cuperEncoding |
| Other members may be added at runtime. | ||
This object set has the following members:
| &id | &Type | &encoding |
|---|---|---|
FDC2
|
DynamicContent | cuperEncoding |
FDC1
|
UicDynamicContentData | cuperEncoding |
| Other members may be added at runtime. | ||