From 17f05b763d70f350bad482df9378c571c2ebddf6 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Fri, 21 Jan 2022 18:19:36 +0100 Subject: new dynamic header version 2.0.0 --- misc/uicBarcodeHeader_v2.0.0.asn | 126 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 misc/uicBarcodeHeader_v2.0.0.asn (limited to 'misc/uicBarcodeHeader_v2.0.0.asn') diff --git a/misc/uicBarcodeHeader_v2.0.0.asn b/misc/uicBarcodeHeader_v2.0.0.asn new file mode 100644 index 0000000..79d104d --- /dev/null +++ b/misc/uicBarcodeHeader_v2.0.0.asn @@ -0,0 +1,126 @@ +-- Author: ClemensGantert +-- Created: Thu Jun 04 17:19:28 CEST 2020 +ASN-Module DEFINITIONS AUTOMATIC TAGS ::= BEGIN + +-- imports and exports +-- EXPORTS ALL; + + +-- ############################################################################################## +-- # +-- # UIC barcode header - version 2.0.0 +-- # +-- ############################################################################################## + + +-- ############################################################################################## +-- # +-- # Naming and encoding conventions +-- # +-- # - A bar code which is only static (printed on a paper), and for which the security is in the system, +-- # does not need any of these elements. +-- # - A bar code which is only static, and includes its own security, needs: +-- # level1Signature +-- # level1KeyAlg if the associated key does not include the complete certificate in keys.xml but only the public key +-- # (but level1SigningAlg is not necessary as it is in keys.xml) +-- # - A dynamic bar code including static and dynamic signatures needs: +-- # The same elements as a static bar code above, +-- # level2SigningAlg, level2keyAlg, level2PublicKey, and level2Signature. +-- # +-- # Changes to Version 1: +-- # +-- # - endOfValidity added in Level1Data +-- # - extension option added on all structures +-- # +-- ######################################################################################### + + +-- ############################################################################################ + + +-- type assignments + + -- ######################################################################################### + -- the basic entry point of the data structure + -- ########################################################################################## + UicBarcodeHeader ::= SEQUENCE { + -- barcode format type + format IA5String, + -- "U2" = UIC ticket + + + level2SignedData Level2DataType, + + -- signature is calculated on the PER unaligned encoding of level2 signature data + level2Signature OCTET STRING OPTIONAL, + ... + + + } + + Level2DataType ::= SEQUENCE { + + level1Data Level1DataType, + + -- signature is calculated on the PER unaligned encoding of level1 signature data + level1Signature OCTET STRING OPTIONAL, + + level2Data DataType OPTIONAL, + ... + + } + + + Level1DataType ::= SEQUENCE { + + -- provider of the level1 signature (RICS code) + securityProviderNum INTEGER (1..32000) OPTIONAL, + securityProviderIA5 IA5String OPTIONAL, + + keyId INTEGER(0..99999) OPTIONAL, + + dataSequence SEQUENCE OF DataType, + + + -- object identifier of the key algorithms + -- e.g. + -- ECC P-256 1.2.840.10045.3.1.7 + level1KeyAlg OBJECT IDENTIFIER OPTIONAL, + level2KeyAlg OBJECT IDENTIFIER OPTIONAL, + + -- object identifier of the signing algorithm + -- e.g. + -- DSA SHA224 2.16.840.1.101.3.4.3.1 + -- DSA SHA256 2.16.840.1.101.3.4.3.2 + -- ECDSA-256 1.2.840.10045.4.3.2 + -- algorithm used for signing + level1SigningAlg OBJECT IDENTIFIER OPTIONAL, + level2SigningAlg OBJECT IDENTIFIER OPTIONAL, + level2PublicKey OCTET STRING OPTIONAL, + + -- end of the validity of the bar code, after this date and time the bar code needs to be regenerated + -- if end of validity is provided year day and time must be provided. + -- year, day, time are in UTC + -- the provider of the bar code must ensure that the end of validity of the bar code is + -- before the end of validity of the key pair used on level 2 + endOfValidityYear INTEGER (2016..2269) OPTIONAL, + -- number of the day in the year (1.1. = 1) + endOfValidityDay INTEGER (1..366) OPTIONAL, + -- The number of the minutes of the day + endOfValidityTime INTEGER (0..1439) OPTIONAL, + ... + } + + DataType ::= SEQUENCE { + -- Content of data format: + -- FCBn (FCB1 = FCB version 1, FCB2 = FCB version 2) + -- FDCn dynamic content + -- or proprietary: + -- _RICS company code + addon + dataFormat IA5String, + data OCTET STRING, + ... + } + + +END \ No newline at end of file -- cgit v1.2.3 From 7410ac59ba8e1994254a872104ea660b992cba9a Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Fri, 28 Jan 2022 17:06:47 +0100 Subject: new dynamic header version --- misc/uicBarcodeHeader_v2.0.0.asn | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) (limited to 'misc/uicBarcodeHeader_v2.0.0.asn') diff --git a/misc/uicBarcodeHeader_v2.0.0.asn b/misc/uicBarcodeHeader_v2.0.0.asn index 79d104d..e7363b0 100644 --- a/misc/uicBarcodeHeader_v2.0.0.asn +++ b/misc/uicBarcodeHeader_v2.0.0.asn @@ -52,10 +52,7 @@ ASN-Module DEFINITIONS AUTOMATIC TAGS ::= BEGIN level2SignedData Level2DataType, -- signature is calculated on the PER unaligned encoding of level2 signature data - level2Signature OCTET STRING OPTIONAL, - ... - - + level2Signature OCTET STRING OPTIONAL } Level2DataType ::= SEQUENCE { @@ -65,8 +62,7 @@ ASN-Module DEFINITIONS AUTOMATIC TAGS ::= BEGIN -- signature is calculated on the PER unaligned encoding of level1 signature data level1Signature OCTET STRING OPTIONAL, - level2Data DataType OPTIONAL, - ... + level2Data DataType OPTIONAL } @@ -98,17 +94,21 @@ ASN-Module DEFINITIONS AUTOMATIC TAGS ::= BEGIN level2SigningAlg OBJECT IDENTIFIER OPTIONAL, level2PublicKey OCTET STRING OPTIONAL, - -- end of the validity of the bar code, after this date and time the bar code needs to be regenerated + -- end of the validity of the bar code, after this date and time the bar code needs to be regenerated + -- by the provider of the ticket -- if end of validity is provided year day and time must be provided. -- year, day, time are in UTC - -- the provider of the bar code must ensure that the end of validity of the bar code is - -- before the end of validity of the key pair used on level 2 + -- the provider of the bar code should ensure that the endOfValidity given here does not exceed + -- the validity of the key pair used on level 2. endOfValidityYear INTEGER (2016..2269) OPTIONAL, -- number of the day in the year (1.1. = 1) endOfValidityDay INTEGER (1..366) OPTIONAL, -- The number of the minutes of the day - endOfValidityTime INTEGER (0..1439) OPTIONAL, - ... + endOfValidityTime INTEGER (0..1439) OPTIONAL, + + -- validity duration in seconds of the bar code shown with reference to the time stamp dynamicContentTimeStamp + -- in the dynamic data included in the level2Data + validityDuration INTEGER (1..3600) OPTIONAL } DataType ::= SEQUENCE { @@ -118,8 +118,7 @@ ASN-Module DEFINITIONS AUTOMATIC TAGS ::= BEGIN -- or proprietary: -- _RICS company code + addon dataFormat IA5String, - data OCTET STRING, - ... + data OCTET STRING } -- cgit v1.2.3