1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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
}
|