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 sequence contains the following fields:
If the the BarcodeData.level2PublicKey field is unset, and this field is set, the barcode is invalid.
If the the BarcodeData.level2PublicKey field is set, and this field is unset, the barcode is invalid.
The signature is calculated over the CUPER encoding of Level2Data.
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:
|
The value of this choice may be one of the following:
Only permitted where no security is required.
In this case, BarcodeData.level2PublicKey MUST be unset.
This sequence contains the following fields:
Signature calculated over the CUPER encoding of BarcodeTBSData.
This sequence contains the following fields:
Signed content is BarcodeData.
This sequence contains the following fields:
Signed content is BarcodeData.
This sequence contains the following fields:
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
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 NIST 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:
NIST P-256 curve and SHA-256.
This type is concretely parameterised with the following:
32
secp256k1 curve and SHA-256.
This type is concretely parameterised with the following:
32
NIST P-384 curve and SHA-384.
This type is concretely parameterised with the following:
48
NIST P-521 curve and SHA-512.
This type is concretely parameterised with the following:
66
Message recovery signature as per ISO/IEC 9796-3:2006 Sec. 13 (ECKNR).
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
This sequence contains the following fields:
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:
16777216
This type is constrained in the following way:
The value must be greater than or equal to:
2026
The value must be less than or equal to:
2279
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:
366
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.
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 be greater than or equal to:
0
The length of the value must be less than or equal to:
15
This sequence contains the following fields:
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:
|
If the extension 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.
This object set has the following members:
| &id | &Type | &encoding |
|---|---|---|
| Other members may be added at runtime. | ||
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. | ||