From c45fc85b78f3d8701346a231f07b7ffa984ca4ed Mon Sep 17 00:00:00 2001 From: CGantert345 <57003061+CGantert345@users.noreply.github.com> Date: Fri, 23 Apr 2021 13:41:58 +0200 Subject: update --- misc/dynamicContentDFCB1.asn | 90 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 misc/dynamicContentDFCB1.asn (limited to 'misc/dynamicContentDFCB1.asn') diff --git a/misc/dynamicContentDFCB1.asn b/misc/dynamicContentDFCB1.asn new file mode 100644 index 0000000..7ca6d41 --- /dev/null +++ b/misc/dynamicContentDFCB1.asn @@ -0,0 +1,90 @@ +-- ########################################################################################## +-- # +-- # FCB Dynamic Content for UicBarcodeHeader.level2SignedData.level2Data.data +-- # (identified as "FDC1" in UicBarcodeHeader.level2SignedData.level2Data.dataFormat) +-- # +-- # Draft version 0.1 +-- # +-- ########################################################################################## + UicDynamicContentData ::= SEQUENCE { + + -- Moment of generation of the dynamic content, expressed in UTC : + -- * dynamicContentDay is the number of days from issuing date + -- (UicRailTicketData.issuingDetail.issuingYear and issuingDay) + -- The range 0..1070 allows a validity equal to that of the validFrom (700) plus + -- validUntil (370) elements of the different transport documents of UicRailTicketData. + -- * dynamicContentTime is the number of seconds of the day + -- (from 0 = 0:00:00 to 86399 = 23:59:59) + -- These two elements shall be either both present, either both absent + dynamicContentDay INTEGER (0..1070) DEFAULT 0, + dynamicContentTime INTEGER (0..86399) OPTIONAL, + + -- Coordinates of the place where the dynamic content has been generated + -- (same GeoCoordinateType type as in UicRailTicketData) + dynamicContentGeoCoordinate GeoCoordinateType OPTIONAL, + + -- Response from the mobile to any data received from the terminal. + -- The data received from the terminal may be a random number, or any other information. + -- The response may be the data itself, a hashing of this data, or any other response. + -- This response may be completed with other information: IMEI, mobile phone number... + -- The type used is ExtensionData, as it is fully adapted. + -- extensionId shall be set to: + -- * "=" if the data included in extensionData is exactly the one that was transmitted by the terminal, + -- * any other value (chosen by the issuer) in other cases. + dynamicContentResponseToChallenge ExtensionData OPTIONAL, + + -- proprietary data defined bilaterally + dynamicContentExtension ExtensionData OPTIONAL, + + -- challenge string asked by the TCO + challengeString IA5String OPTIONAL, + + -- phoneIdHash hashed phone id to be made available via 90918-4 ticket control data + phoneIdHash OCTETSTRING OPTIONAL, + + -- e-passport-id hash to be read by the phone at control and to be made available via 90918-4 ticket control data + phoneIdHash OCTETSTRING OPTIONAL, + ... + } + + -- ########################################################################################## + -- # Generic type for geo coordinates + -- ########################################################################################## + GeoCoordinateType ::= SEQUENCE { + geoUnit GeoUnitType DEFAULT milliDegree, + coordinateSystem GeoCoordinateSystemType DEFAULT wgs84, + hemisphereLongitude HemisphereLongitudeType DEFAULT north, -- separate hemishpere flag reduces the data size + hemisphereLatitude HemisphereLatitudeType DEFAULT east, -- separate hemishpere flag reduces the data size + longitude INTEGER, + latitude INTEGER, + accuracy GeoUnitType OPTIONAL + } + + GeoCoordinateSystemType ::= ENUMERATED { + wgs84 (0), -- WGS 84 standard system + grs80 (1) -- (outdated) GRS 80 coordinate system + } + + GeoUnitType ::= ENUMERATED { + microDegree (0), -- approx. 11 cm on earth surface + tenthmilliDegree (1), -- 1 / 10000 degree is approx. 11 meter on earth surface + milliDegree (2), -- approx 110 meter on earth surface + centiDegree (3), + deciDegree (4) + } + + HemisphereLongitudeType ::= ENUMERATED { + north (0), + south (1) + } + + HemisphereLatitudeType ::= ENUMERATED { + east (0), + west (1) + } + + -- ########################################################################################### + ExtensionData ::= SEQUENCE { + extensionId IA5String, + extensionData OCTET STRING + } \ No newline at end of file -- cgit v1.2.3