From ecdc5505218d71ba365ff729f11a1b504a71c986 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Tue, 23 Nov 2021 09:59:31 +0100 Subject: added fcb version 3 data type to the DOSIPAS encoding and decoding --- .../ticket/api/spec/uicBarcodeHeader0.1.asn | 151 --------------------- 1 file changed, 151 deletions(-) delete mode 100644 src/main/java/org/uic/barcode/ticket/api/spec/uicBarcodeHeader0.1.asn (limited to 'src/main/java/org/uic/barcode/ticket') diff --git a/src/main/java/org/uic/barcode/ticket/api/spec/uicBarcodeHeader0.1.asn b/src/main/java/org/uic/barcode/ticket/api/spec/uicBarcodeHeader0.1.asn deleted file mode 100644 index 2999d18..0000000 --- a/src/main/java/org/uic/barcode/ticket/api/spec/uicBarcodeHeader0.1.asn +++ /dev/null @@ -1,151 +0,0 @@ --- Creator: ASN.1 Editor (http://asneditor.sourceforge.net) --- Author: ClemensGantert --- Created: Tue Aug 11 11:40:28 CEST 2015 -ASN-Module DEFINITIONS AUTOMATIC TAGS ::= BEGIN - --- imports and exports --- EXPORTS ALL; - - --- ############################################################################################## --- # --- # UIC barcode header - first draft --- # --- ############################################################################################## - - --- ############################################################################################## --- # --- # Naming and encoding conventions --- # --- # Elements included as String and as Numeric values: --- # Some elements are included in different formats to reduce the data size. --- # These elements must be included only once. --- # These elements are named with the same name and appendix --- # Num (numeric values) --- # IA5 (String values according to ASN IA5String (7Bit)) --- # --- # RICS codes must be used to encode companies (issuer, product owner, ...) where available --- # other codes are possible based on bilateral agreements --- # the format is kept more flexible to cover upcoming extensions of the RICS code by ERA --- # --- # Stations can be coded using the UIC and upcoming ERA code lists. Proprietary codes are --- # possible based on bilateral agreements. Format: 1..9999999 or alphanumeric without --- # special character (IA5String) --- # --- # --- # ! INTEGERS must not exceed the value of 9,223,372,036,854,775,807 (64 bit) even in case --- # ! they are unrestricted!!! --- # ! --- # ! Some elements like ReferenceNum or cardIdNum are defined as an unrestricted integer. --- # ! Unlike other numerical values the cardIdNum and referenceNum can be larger than a usual 32 bit Integer --- # ! Some ASN.1 implementation tools are limited to 32 bit integers which is too small. --- # ! Please ensure to use a tool capable of dealing with larger numbers. --- # --- # BOOLEAN is always non optional --- # --- # Encoding of time: --- # time is encoded as the number of minutes of the day 0 = 00:00, 1440 = 24:00, --- # time data elements end with "time" in their name --- # --- # Encoding of date: --- # ......................................................................................................... --- # The issuing date is given in UTC, but some other date values are given in local time where the exact time zone is not known. --- # --- # --- # --- # ASN.1 Extensions: --- # --- # The specification makes use of extension (",..."). --- # These extesions might be defined in future versions of the UIC specification --- # Implementations must support the extension feature of ASN.1, at least they must be able to ignore extensions while decoding the data --- # ASN.1 extensions will be defined by UIC. It is not allowed to define bilateral extensions. --- # --- # Bilateral Extensions: --- # Bilateral extensions can be included in the data element "ExtensionData". --- # --- # --- # --- ######################################################################################### - - --- ############################################################################################ - - --- type assignments - - -- ######################################################################################### - -- the basic entry point of the data structure - -- the data include: - -- -issuer informations - -- -the details of the transport document - -- -informations required for the control process - -- -informations on the travelers independent from the transport document - -- -proprietary extensions - -- - -- ########################################################################################## - UicBarcodeHeader ::= SEQUENCE { - -- format type - format IA5String, - -- "UIC" = UIC ticket - - version Integer (1..16), - - -- provider of the signature (RICS code) - securityProviderNum INTEGER (1..32000) OPTIONAL, - securityProviderIA5 IA5String OPTIONAL, - - - staticData SEQUENCE OF DataType, - staticSignature SignatureType OPTIONAL, - - - - -- additional dynamic data i.e. phone number, IMEI, timestamp , .... --> To be defined separately - dynamicDataFormat IA5String OPTIONAL, - dynamicData OCTET STRING OPTIONAL, - dynamicPublicKey OCTET STRING OPTIONAL, - dynamicSignature SignatureType OPTIONAL - - -- proprietary data defined bilaterally - extension SEQUENCE OF ExtensionData OPTIONAL - ,... - - } - - DataType ::= SEQUENCE { - staticDataFormat IA5String DEFAULT "FCB1", - -- FCB1 FCB version 1 - -- 1080XYZ - staticData OCTET STRING - } - - - - SignatureType ::= SEQUENCE { - signingAlg IA5String, - keyId IA5String (SIZE(1..5)), - signature OCTET STRING, - } - - - - -- ########################################################################################### - -- generic non standard extension element - -- the generic non - standard element contains: - -- - an extension id to distinguish different extensions - -- - the extension data as binary data - -- proprietary extensions are by definition proprietary. This standard provides - -- the means to identify these extensions - -- within the data and to skip these data. - -- the evaluation of these data and the unique identification of the extensions - -- via the extension id is in the - -- responsibility of the railways which use these extensions. - -- ########################################################################################### - ExtensionData ::= SEQUENCE { - extensionId IA5String, - extensionData OCTET STRING - } - - -END \ No newline at end of file -- cgit v1.2.3 From 900acb165c53e9801112c3f1b8f57ff4d9ad531d Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Tue, 23 Nov 2021 13:28:56 +0100 Subject: additional tests for DOSIPAS --- src/main/java/org/uic/barcode/ticket/UicRailTicketCoder.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/org/uic/barcode/ticket') diff --git a/src/main/java/org/uic/barcode/ticket/UicRailTicketCoder.java b/src/main/java/org/uic/barcode/ticket/UicRailTicketCoder.java index e9d2eb4..0586ed4 100644 --- a/src/main/java/org/uic/barcode/ticket/UicRailTicketCoder.java +++ b/src/main/java/org/uic/barcode/ticket/UicRailTicketCoder.java @@ -33,7 +33,7 @@ public class UicRailTicketCoder { public byte[] encode (IUicRailTicket uicRailTicket, int version) throws IOException, EncodingFormatException{ - if (version == 13) { + if (version == 13 || version == 1) { Api2OpenAsnEncoder uicEncoder = new Api2OpenAsnEncoder(); -- cgit v1.2.3 From 7f96cbde68c325719d08282cc850e4a704b43100 Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Thu, 25 Nov 2021 16:28:36 +0100 Subject: test and bug fix on countermark and viaStation --- .../java/org/uic/barcode/ticket/api/asn/omv1/CountermarkData.java | 6 +++--- .../java/org/uic/barcode/ticket/api/asn/omv1/ViaStationType.java | 2 +- .../java/org/uic/barcode/ticket/api/asn/omv2/CountermarkData.java | 6 +++--- .../java/org/uic/barcode/ticket/api/asn/omv2/ViaStationType.java | 2 +- .../java/org/uic/barcode/ticket/api/asn/omv3/CountermarkData.java | 6 +++--- .../java/org/uic/barcode/ticket/api/asn/omv3/ViaStationType.java | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) (limited to 'src/main/java/org/uic/barcode/ticket') diff --git a/src/main/java/org/uic/barcode/ticket/api/asn/omv1/CountermarkData.java b/src/main/java/org/uic/barcode/ticket/api/asn/omv1/CountermarkData.java index 76625d4..579342e 100644 --- a/src/main/java/org/uic/barcode/ticket/api/asn/omv1/CountermarkData.java +++ b/src/main/java/org/uic/barcode/ticket/api/asn/omv1/CountermarkData.java @@ -72,15 +72,15 @@ public class CountermarkData extends Object { @FieldOrder(order = 8) @IntRange(minValue=1,maxValue=200) - @Asn1Optional public Long numberOfCountermark; + public Long numberOfCountermark; @FieldOrder(order = 9) @IntRange(minValue=1,maxValue=200) - @Asn1Optional public Long totalOfCountermarks; + public Long totalOfCountermarks; @FieldOrder(order = 10) @RestrictedString(CharacterRestriction.UTF8String) - @Asn1Optional public String groupName; + public String groupName; @FieldOrder(order = 11) @Asn1Default("stationUIC") diff --git a/src/main/java/org/uic/barcode/ticket/api/asn/omv1/ViaStationType.java b/src/main/java/org/uic/barcode/ticket/api/asn/omv1/ViaStationType.java index dfc1e56..ddabf0b 100644 --- a/src/main/java/org/uic/barcode/ticket/api/asn/omv1/ViaStationType.java +++ b/src/main/java/org/uic/barcode/ticket/api/asn/omv1/ViaStationType.java @@ -55,7 +55,7 @@ public class ViaStationType extends Object { @Asn1Optional public SequenceOfViaStationType route; @FieldOrder(order = 5) - @Asn1Optional public Boolean border = false; + public Boolean border = false; @FieldOrder(order = 6) @Asn1Optional public SequenceOfCarrierNum carriersNum; diff --git a/src/main/java/org/uic/barcode/ticket/api/asn/omv2/CountermarkData.java b/src/main/java/org/uic/barcode/ticket/api/asn/omv2/CountermarkData.java index aefdc3b..4c5a961 100644 --- a/src/main/java/org/uic/barcode/ticket/api/asn/omv2/CountermarkData.java +++ b/src/main/java/org/uic/barcode/ticket/api/asn/omv2/CountermarkData.java @@ -72,15 +72,15 @@ public class CountermarkData extends Object { @FieldOrder(order = 8) @IntRange(minValue=1,maxValue=200) - @Asn1Optional public Long numberOfCountermark; + public Long numberOfCountermark; @FieldOrder(order = 9) @IntRange(minValue=1,maxValue=200) - @Asn1Optional public Long totalOfCountermarks; + public Long totalOfCountermarks; @FieldOrder(order = 10) @RestrictedString(CharacterRestriction.UTF8String) - @Asn1Optional public String groupName; + public String groupName; @FieldOrder(order = 11) @Asn1Default("stationUIC") diff --git a/src/main/java/org/uic/barcode/ticket/api/asn/omv2/ViaStationType.java b/src/main/java/org/uic/barcode/ticket/api/asn/omv2/ViaStationType.java index 0e2ca6c..f7aa1bb 100644 --- a/src/main/java/org/uic/barcode/ticket/api/asn/omv2/ViaStationType.java +++ b/src/main/java/org/uic/barcode/ticket/api/asn/omv2/ViaStationType.java @@ -55,7 +55,7 @@ public class ViaStationType extends Object { @Asn1Optional public SequenceOfViaStationType route; @FieldOrder(order = 5) - @Asn1Optional public Boolean border = false; + public Boolean border = false; @FieldOrder(order = 6) @Asn1Optional public SequenceOfCarrierNum carriersNum; diff --git a/src/main/java/org/uic/barcode/ticket/api/asn/omv3/CountermarkData.java b/src/main/java/org/uic/barcode/ticket/api/asn/omv3/CountermarkData.java index 733ccf0..510ec6f 100644 --- a/src/main/java/org/uic/barcode/ticket/api/asn/omv3/CountermarkData.java +++ b/src/main/java/org/uic/barcode/ticket/api/asn/omv3/CountermarkData.java @@ -72,15 +72,15 @@ public class CountermarkData extends Object { @FieldOrder(order = 8) @IntRange(minValue=1,maxValue=200) - @Asn1Optional public Long numberOfCountermark; + public Long numberOfCountermark; @FieldOrder(order = 9) @IntRange(minValue=1,maxValue=200) - @Asn1Optional public Long totalOfCountermarks; + public Long totalOfCountermarks; @FieldOrder(order = 10) @RestrictedString(CharacterRestriction.UTF8String) - @Asn1Optional public String groupName; + String groupName; @FieldOrder(order = 11) @Asn1Default("stationUIC") diff --git a/src/main/java/org/uic/barcode/ticket/api/asn/omv3/ViaStationType.java b/src/main/java/org/uic/barcode/ticket/api/asn/omv3/ViaStationType.java index d47bd98..2d8b751 100644 --- a/src/main/java/org/uic/barcode/ticket/api/asn/omv3/ViaStationType.java +++ b/src/main/java/org/uic/barcode/ticket/api/asn/omv3/ViaStationType.java @@ -55,7 +55,7 @@ public class ViaStationType extends Object { @Asn1Optional public SequenceOfViaStationType route; @FieldOrder(order = 5) - @Asn1Optional public Boolean border = false; + public Boolean border = false; @FieldOrder(order = 6) @Asn1Optional public SequenceOfCarrierNum carriersNum; -- cgit v1.2.3