@sphereon/ssi-sdk.sd-jwt 0.32.1-feature.IATAB2B.52.189 → 0.32.1-feature.MWALL.715.120
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action-handler.d.ts.map +1 -1
- package/dist/action-handler.js +34 -4
- package/dist/action-handler.js.map +1 -1
- package/dist/defaultCallbacks.d.ts +2 -2
- package/dist/defaultCallbacks.d.ts.map +1 -1
- package/dist/defaultCallbacks.js.map +1 -1
- package/dist/types.d.ts +5 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +15 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +29 -4
- package/dist/utils.js.map +1 -1
- package/package.json +14 -14
- package/src/__tests__/resources/BoardingPassCredential-vct.json +196 -0
- package/src/__tests__/resources/LoyaltyProgram Account VC Schema V0.1 sd-jwt-schema.json +97 -0
- package/src/__tests__/resources/LoyaltyProgramAccountCredential-vct.json +126 -0
- package/src/__tests__/resources/boarding Pass VC Schema V1.0 sd-jwt.json +156 -0
- package/src/__tests__/resources/boardingpass-logo.png +0 -0
- package/src/__tests__/resources/boardingpass.svg +1 -0
- package/src/__tests__/resources/e-passport.svg +1 -0
- package/src/__tests__/resources/ePassport VC Schema V1.0.sd-jwt.json +197 -0
- package/src/__tests__/resources/ePassportCredential-vct.json +226 -0
- package/src/__tests__/resources/epassport-logo.png +0 -0
- package/src/__tests__/resources/loyaltyprogramaccount-icon.png +0 -0
- package/src/__tests__/resources/loyaltyprogramaccount.png +0 -0
- package/src/__tests__/resources/loyaltyprogramaccount.svg +1 -0
- package/src/__tests__/resources/travel-agency VC Employee v0.1 sd-jwt-schema.json +115 -0
- package/src/__tests__/resources/travel-agency-EmployeeAgencyCredential-vct.json +146 -0
- package/src/__tests__/resources/travel-agency-vc-employee-logo.png +0 -0
- package/src/__tests__/resources/travel-agency-vc-employee.svg +1 -0
- package/src/__tests__/sd-jwt-integrity.test.ts +100 -0
- package/src/__tests__/sd-jwt.test.ts +2 -3
- package/src/action-handler.ts +48 -14
- package/src/defaultCallbacks.ts +2 -3
- package/src/types.ts +5 -4
- package/src/utils.ts +48 -4
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.prod.digitalcredentials.iata.org/epassport.json",
|
|
4
|
+
"title": "ePassport",
|
|
5
|
+
"description": "Verifiable Credential for an ePassport.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["electronicPassport", "iss", "iat", "vct", "cnf"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"electronicPassport": {
|
|
10
|
+
"title": "Electronic Passport",
|
|
11
|
+
"description": "A passport that has an embedded electronic microprocessor chip, which contains biometric information that can be used to authenticate the identity of the passport holder. Also known as an e-passport, biometric passport, or a digital passport. Note filler characters are not required.",
|
|
12
|
+
"type": "object",
|
|
13
|
+
"required": ["dataGroup1", "dataGroup2EncodedFaceBiometrics", "docSecurityObject"],
|
|
14
|
+
"properties": {
|
|
15
|
+
"dataGroup1": {
|
|
16
|
+
"title": "Data Group 1",
|
|
17
|
+
"description": "Data Group 1 (DG1) of the machine readable zone (MRZ). Reference: Section 4.7.1 of Doc 9303 Machine Readable Travel Documents, Eighth Edition 2021, Part 10: Logical Data Structure (LDS) for Storage of Biometrics and Other Data in the Contactless Integrated Circuit (IC).",
|
|
18
|
+
"type": "object",
|
|
19
|
+
"required": ["birthdate", "docTypeCode", "expiryDate", "sexCode", "holdersName", "issuerCode", "natlCode", "passportNumberIdentifier"],
|
|
20
|
+
"properties": {
|
|
21
|
+
"birthdate": {
|
|
22
|
+
"title": "Data Group 1 Birthdate",
|
|
23
|
+
"description": "Date of birth of the passport holder as recorded by the issuing State or organization.",
|
|
24
|
+
"type": "string",
|
|
25
|
+
"pattern": "^[0-9<]{2}([0<][1-9<]|[1<][0-2<])([0<][1-9<]|[12<][0-9<]|[3<][01<])$"
|
|
26
|
+
},
|
|
27
|
+
"docTypeCode": {
|
|
28
|
+
"title": "Data Group 1 Document Type Code",
|
|
29
|
+
"description": "Capital letter P to designate an ePassport. One additional capital letter may be used, in the character position after the letter P and at the discretion of the issuing State or organization, to designate other types of passports such as MRP issued to diplomatic staff.",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"pattern": "^P.$"
|
|
32
|
+
},
|
|
33
|
+
"expiryDate": {
|
|
34
|
+
"title": "Data Group 1 Expiry Date",
|
|
35
|
+
"description": "Date of expiry of the ePassport.",
|
|
36
|
+
"type": "string",
|
|
37
|
+
"pattern": "^[0-9]{2}([0][1-9]|[1][0-2])([0][1-9]|[12][0-9]|[3][01])$"
|
|
38
|
+
},
|
|
39
|
+
"sexCode": {
|
|
40
|
+
"title": "Sex Code",
|
|
41
|
+
"description": "Sex of the passport holder; typically, F for Female, M for Male or < for non-specified.",
|
|
42
|
+
"type": "string",
|
|
43
|
+
"enum": ["F", "M", "<"]
|
|
44
|
+
},
|
|
45
|
+
"holdersName": {
|
|
46
|
+
"title": "Data Group 1 Holders Name",
|
|
47
|
+
"description": "Full name of the holder, as identified by the issuing State or organization.",
|
|
48
|
+
"type": "string",
|
|
49
|
+
"minLength": 1,
|
|
50
|
+
"maxLength": 39
|
|
51
|
+
},
|
|
52
|
+
"issuerCode": {
|
|
53
|
+
"title": "Data Group 1 Issuer Code",
|
|
54
|
+
"description": "Code of the State or Organization responsible for the issuance of the ePassport.",
|
|
55
|
+
"type": "string",
|
|
56
|
+
"maxLength": 13
|
|
57
|
+
},
|
|
58
|
+
"natlCode": {
|
|
59
|
+
"title": "Data Group 1 Nationality Text",
|
|
60
|
+
"description": "The code for the nationality of the holder of the ePassport.",
|
|
61
|
+
"type": "string",
|
|
62
|
+
"minLength": 3,
|
|
63
|
+
"maxLength": 3
|
|
64
|
+
},
|
|
65
|
+
"passportNumberIdentifier": {
|
|
66
|
+
"title": "Data Group 1 Passport Number Identifier",
|
|
67
|
+
"description": "As given by the issuing State or organization to uniquely identify the document from all other MRTDs issued by the State or organization.",
|
|
68
|
+
"type": "string",
|
|
69
|
+
"maxLength": 9
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"dataGroup15": {
|
|
74
|
+
"title": "Data Group 15",
|
|
75
|
+
"description": "Data group 15 defined by ICAO for ePassport. Reference: Section 4.7.15.1 of Doc 9303 Machine Readable Travel Documents, Eighth Edition 2021, Part 10: Logical Data Structure (LDS) for Storage of Biometrics and Other Data in the Contactless Integrated Circuit (IC).",
|
|
76
|
+
"type": "object",
|
|
77
|
+
"required": ["activeAuthentication"],
|
|
78
|
+
"properties": {
|
|
79
|
+
"activeAuthentication": {
|
|
80
|
+
"title": "Active Authentication",
|
|
81
|
+
"description": "Active Authentication authenticates the contactless IC by signing a challenge sent by the IFD (inspection system) with a private key known only to the IC. For this purpose the contactless IC contains its own Active Authentication Key pair (KPrAA and KPuAA). A hash representation of Data Group 15 (Public Key (KPuAA) info) is stored in the Document Security Object (SOD) and therefore authenticated by the issuer's digital signature. The corresponding Private Key (KPrAA) is stored in the contactless IC's secure memory. By authenticating the visual MRZ (through the hashed MRZ in the Document Security Object (SOD)) in combination with the challenge response, using the eMRTD's Active Authentication Key Pair (KPrAA and KPuAA), the inspection system verifies that the Document Security Object (SOD) has been read from the genuine contactless IC stored in the genuine eMRTD.",
|
|
82
|
+
"type": "object",
|
|
83
|
+
"required": ["publicKeyBinaryObject"],
|
|
84
|
+
"properties": {
|
|
85
|
+
"publicKeyBinaryObject": {
|
|
86
|
+
"title": "Active Authentication Public Key Binary Object",
|
|
87
|
+
"description": "Public key for use in active authentication. Example uri format data:application/octet-stream;base64,...",
|
|
88
|
+
"type": "string",
|
|
89
|
+
"format": "uri"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"dataGroup2EncodedFaceBiometrics": {
|
|
96
|
+
"title": "Data Group 2 Encoded Face Biometrics",
|
|
97
|
+
"description": "First, most recent, face biometric image from data group 2. Reference: Section 4.7.2 of Doc 9303 Machine Readable Travel Documents, Eighth Edition 2021, Part 10: Logical Data Structure (LDS) for Storage of Biometrics and Other Data in the Contactless Integrated Circuit (IC).",
|
|
98
|
+
"type": "object",
|
|
99
|
+
"required": ["faceBiometricDataEncodedPicture"],
|
|
100
|
+
"properties": {
|
|
101
|
+
"faceBiometricDataEncodedPicture": {
|
|
102
|
+
"title": "Data Group 2 Encoded Face Biometrics Face Biometric Data Encoded Picture",
|
|
103
|
+
"description": "First, most recent, face biometric image from data group 2. Example uri, data:image/jpeg;base64,...",
|
|
104
|
+
"type": "string",
|
|
105
|
+
"format": "uri"
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"digitalTravelCredential": {
|
|
110
|
+
"title": "Digital Travel Credential",
|
|
111
|
+
"description": "Travel credentials in a digital format that are meant to temporarily or permanently substitute a conventional passport by a digital representation of the traveler's identity. Reference: Section 2.1.3 of Machine Readable Travel Documents, Digital Travel Credentials (DTC), Virtual Component Data Structure and PKI Mechanisms, Technical Report, Version 1.2 October 2020.",
|
|
112
|
+
"type": "object",
|
|
113
|
+
"required": ["dTCContentInfo"],
|
|
114
|
+
"properties": {
|
|
115
|
+
"dTCContentInfo": {
|
|
116
|
+
"title": "DTC-VC as DTCContentInfo encoded Structure",
|
|
117
|
+
"description": "DER encoded DTC-VC. Example uri format data:application/octet-stream;base64,...",
|
|
118
|
+
"type": "string",
|
|
119
|
+
"format": "uri"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"docSecurityObject": {
|
|
124
|
+
"title": "Document Security Object",
|
|
125
|
+
"description": "Document Security Object which contains the hashing information including hashed ePassport data. Reference: Section 4.6.2 of Doc 9303 Machine Readable Travel Documents, Eighth Edition 2021, Part 10: Logical Data Structure (LDS) for Storage of Biometrics and Other Data in the Contactless Integrated Circuit (IC).",
|
|
126
|
+
"type": "object",
|
|
127
|
+
"required": ["dataGroupHash", "digestHashAlgorithmIdentifier", "versionNumber"],
|
|
128
|
+
"properties": {
|
|
129
|
+
"digestHashAlgorithmIdentifier": {
|
|
130
|
+
"title": "Document Security Object Digest Hash Algorithm Identifier",
|
|
131
|
+
"description": "Digest Algorithm Identifier used to perform hashing on the data groups.",
|
|
132
|
+
"type": "string",
|
|
133
|
+
"maxLength": 35
|
|
134
|
+
},
|
|
135
|
+
"versionNumber": {
|
|
136
|
+
"title": "Document Security Object Version Number",
|
|
137
|
+
"description": "Security object version.",
|
|
138
|
+
"type": "number"
|
|
139
|
+
},
|
|
140
|
+
"dataGroupHash": {
|
|
141
|
+
"title": "Data Group Hash",
|
|
142
|
+
"description": "Data group with corresponding hash value.",
|
|
143
|
+
"type": "array",
|
|
144
|
+
"items": {
|
|
145
|
+
"type": "object",
|
|
146
|
+
"title": "Data Group Hash",
|
|
147
|
+
"description": "Data group with corresponding hash value.",
|
|
148
|
+
"required": ["dataGroupNumber", "valueBinaryObject"],
|
|
149
|
+
"properties": {
|
|
150
|
+
"dataGroupNumber": {
|
|
151
|
+
"title": "Data Group Hash Data Group Number",
|
|
152
|
+
"description": "Data group number.",
|
|
153
|
+
"type": "integer",
|
|
154
|
+
"minimum": 1,
|
|
155
|
+
"maximum": 16
|
|
156
|
+
},
|
|
157
|
+
"valueBinaryObject": {
|
|
158
|
+
"title": "Data Group Hash Value Binary Object",
|
|
159
|
+
"description": "Hash value for the corresponding data group. Example uri format data:application/octet-stream;base64,...",
|
|
160
|
+
"type": "string",
|
|
161
|
+
"format": "uri"
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"iss": {
|
|
171
|
+
"title": "Issuer",
|
|
172
|
+
"description": "URI identifying the issuer of the credential.",
|
|
173
|
+
"type": "string",
|
|
174
|
+
"format": "uri"
|
|
175
|
+
},
|
|
176
|
+
"iat": {
|
|
177
|
+
"title": "Issued At",
|
|
178
|
+
"description": "The time at which the credential was issued (Unix timestamp).",
|
|
179
|
+
"type": "integer"
|
|
180
|
+
},
|
|
181
|
+
"exp": {
|
|
182
|
+
"title": "Expiration",
|
|
183
|
+
"description": "The time at which the credential expires (Unix timestamp).",
|
|
184
|
+
"type": "integer"
|
|
185
|
+
},
|
|
186
|
+
"vct": {
|
|
187
|
+
"title": "Verifiable Credential Type",
|
|
188
|
+
"description": "A URI or string identifying the type or context of this credential.",
|
|
189
|
+
"type": "string"
|
|
190
|
+
},
|
|
191
|
+
"cnf": {
|
|
192
|
+
"title": "Confirmation",
|
|
193
|
+
"description": "Proof-of-possession key information used to bind the credential to a specific holder.",
|
|
194
|
+
"type": "object"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ePassport Verifiable Credential",
|
|
3
|
+
"schema_uri": "https://iata.trustregistry.nborbit.ca/.well-known/schema/epassport.json",
|
|
4
|
+
"schema_uri#integrity": "sha256-MvSlwJxOreBIWTotPQlcOSzsd9gNSiGMltshUKL8TFI",
|
|
5
|
+
"vct": "https://iata.trustregistry.nborbit.ca/.well-known/vct/epassport.json",
|
|
6
|
+
"description": "A Verifiable Credential for an ePassport.",
|
|
7
|
+
"display": [
|
|
8
|
+
{
|
|
9
|
+
"description": "A Verifiable Credential for an ePassport.",
|
|
10
|
+
"lang": "en-US",
|
|
11
|
+
"name": "ePassport Verifiable Credential",
|
|
12
|
+
"rendering": {
|
|
13
|
+
"simple": {
|
|
14
|
+
"background_color": "#CB2210",
|
|
15
|
+
"logo": {
|
|
16
|
+
"alt_text": "ePassport Verifiable Credential Logo",
|
|
17
|
+
"uri": "https://iata.trustregistry.nborbit.ca/logo/epassport-logo.png",
|
|
18
|
+
"uri#integrity": "sha256-SSp0p9SBIotc7FIi/pkqbMthx4Gmx+g+IXnMdOOQXl4"
|
|
19
|
+
},
|
|
20
|
+
"text_color": "#F9F9F9"
|
|
21
|
+
},
|
|
22
|
+
"svg_template": {
|
|
23
|
+
"properties": {
|
|
24
|
+
"color_scheme": "light",
|
|
25
|
+
"contrast": "high",
|
|
26
|
+
"orientation": "landscape"
|
|
27
|
+
},
|
|
28
|
+
"uri": "https://iata.trustregistry.nborbit.ca/svg/epassport.svg",
|
|
29
|
+
"uri#integrity": "sha256-+2b8yT2jzbRuoHh5KnI6RzorWNTN/eL67ZvEV+abEfA"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"claims": [
|
|
35
|
+
{
|
|
36
|
+
"display": [
|
|
37
|
+
{
|
|
38
|
+
"description": "Information about the electronic passport.",
|
|
39
|
+
"label": "Electronic Passport",
|
|
40
|
+
"lang": "en-US"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"path": ["electronicPassport"]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"display": [
|
|
47
|
+
{
|
|
48
|
+
"description": "Data Group 1 of the electronic passport.",
|
|
49
|
+
"label": "Data Group 1",
|
|
50
|
+
"lang": "en-US"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
"path": ["electronicPassport", "dataGroup1"]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"display": [
|
|
57
|
+
{
|
|
58
|
+
"description": "Date of birth of the passport holder.",
|
|
59
|
+
"label": "Birthdate",
|
|
60
|
+
"lang": "en-US"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"path": ["electronicPassport", "dataGroup1", "birthdate"]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"display": [
|
|
67
|
+
{
|
|
68
|
+
"description": "Document type code, such as 'P' for an ePassport.",
|
|
69
|
+
"label": "Document Type Code",
|
|
70
|
+
"lang": "en-US"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"path": ["electronicPassport", "dataGroup1", "docTypeCode"]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"display": [
|
|
77
|
+
{
|
|
78
|
+
"description": "Expiry date of the ePassport.",
|
|
79
|
+
"label": "Expiry Date",
|
|
80
|
+
"lang": "en-US"
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"path": ["electronicPassport", "dataGroup1", "expiryDate"]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"display": [
|
|
87
|
+
{
|
|
88
|
+
"description": "Sex of the passport holder.",
|
|
89
|
+
"label": "Sex Code",
|
|
90
|
+
"lang": "en-US"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"path": ["electronicPassport", "dataGroup1", "sexCode"]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"display": [
|
|
97
|
+
{
|
|
98
|
+
"description": "Full name of the passport holder.",
|
|
99
|
+
"label": "Holder's Name",
|
|
100
|
+
"lang": "en-US"
|
|
101
|
+
}
|
|
102
|
+
],
|
|
103
|
+
"path": ["electronicPassport", "dataGroup1", "holdersName"]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"display": [
|
|
107
|
+
{
|
|
108
|
+
"description": "Issuer code of the ePassport.",
|
|
109
|
+
"label": "Issuer Code",
|
|
110
|
+
"lang": "en-US"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"path": ["electronicPassport", "dataGroup1", "issuerCode"]
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"display": [
|
|
117
|
+
{
|
|
118
|
+
"description": "Nationality code of the passport holder.",
|
|
119
|
+
"label": "Nationality Code",
|
|
120
|
+
"lang": "en-US"
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"path": ["electronicPassport", "dataGroup1", "natlCode"]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"display": [
|
|
127
|
+
{
|
|
128
|
+
"description": "Unique identifier for the passport.",
|
|
129
|
+
"label": "Passport Number",
|
|
130
|
+
"lang": "en-US"
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"path": ["electronicPassport", "dataGroup1", "passportNumberIdentifier"]
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"display": [
|
|
137
|
+
{
|
|
138
|
+
"description": "Encoded face biometric data from Data Group 2.",
|
|
139
|
+
"label": "Encoded Face Biometrics",
|
|
140
|
+
"lang": "en-US"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"path": ["electronicPassport", "dataGroup2EncodedFaceBiometrics", "faceBiometricDataEncodedPicture"]
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"display": [
|
|
147
|
+
{
|
|
148
|
+
"description": "Data group 15 containing the public key for active authentication.",
|
|
149
|
+
"label": "Data Group 15",
|
|
150
|
+
"lang": "en-US"
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"path": ["electronicPassport", "dataGroup15"]
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"display": [
|
|
157
|
+
{
|
|
158
|
+
"description": "Public key for active authentication.",
|
|
159
|
+
"label": "Active Authentication Public Key",
|
|
160
|
+
"lang": "en-US"
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"path": ["electronicPassport", "dataGroup15", "activeAuthentication", "publicKeyBinaryObject"]
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"display": [
|
|
167
|
+
{
|
|
168
|
+
"description": "Document security object containing hashing information.",
|
|
169
|
+
"label": "Document Security Object",
|
|
170
|
+
"lang": "en-US"
|
|
171
|
+
}
|
|
172
|
+
],
|
|
173
|
+
"path": ["electronicPassport", "docSecurityObject"]
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"display": [
|
|
177
|
+
{
|
|
178
|
+
"description": "Digest hash algorithm used for the document security object.",
|
|
179
|
+
"label": "Digest Hash Algorithm",
|
|
180
|
+
"lang": "en-US"
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"path": ["electronicPassport", "docSecurityObject", "digestHashAlgorithmIdentifier"]
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"display": [
|
|
187
|
+
{
|
|
188
|
+
"description": "Version number of the document security object.",
|
|
189
|
+
"label": "Version Number",
|
|
190
|
+
"lang": "en-US"
|
|
191
|
+
}
|
|
192
|
+
],
|
|
193
|
+
"path": ["electronicPassport", "docSecurityObject", "versionNumber"]
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"display": [
|
|
197
|
+
{
|
|
198
|
+
"description": "Data group hash values within the document security object.",
|
|
199
|
+
"label": "Data Group Hash",
|
|
200
|
+
"lang": "en-US"
|
|
201
|
+
}
|
|
202
|
+
],
|
|
203
|
+
"path": ["electronicPassport", "docSecurityObject", "dataGroupHash", null]
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"display": [
|
|
207
|
+
{
|
|
208
|
+
"description": "Data group number for the hash.",
|
|
209
|
+
"label": "Data Group Number",
|
|
210
|
+
"lang": "en-US"
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"path": ["electronicPassport", "docSecurityObject", "dataGroupHash", null, "dataGroupNumber"]
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"display": [
|
|
217
|
+
{
|
|
218
|
+
"description": "Hash value for the data group.",
|
|
219
|
+
"label": "Hash Value",
|
|
220
|
+
"lang": "en-US"
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"path": ["electronicPassport", "docSecurityObject", "dataGroupHash", null, "valueBinaryObject"]
|
|
224
|
+
}
|
|
225
|
+
]
|
|
226
|
+
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg width="2058" height="1173" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" overflow="hidden"><defs><image width="600" height="573" xlink:href="data:image/png;base64,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" preserveAspectRatio="none" id="img0"></image><clipPath id="clip1"><rect x="0" y="0" width="559724" height="534536"/></clipPath></defs><g transform="translate(-430 -944)"><g><path d="M436.5 1003.59C436.5 972.61 461.611 947.5 492.586 947.5L2426.41 947.5C2457.39 947.5 2482.5 972.61 2482.5 1003.59L2482.5 2058.41C2482.5 2089.39 2457.39 2114.5 2426.41 2114.5L492.586 2114.5C461.611 2114.5 436.5 2089.39 436.5 2058.41Z" stroke="#060F6A" stroke-width="4.58333" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="8" stroke-opacity="1" fill="#9C4FE9" fill-rule="evenodd" fill-opacity="1"/><text fill="#FFFFFF" fill-opacity="1" font-family="61,61_MSFontService,sans-serif" font-style="normal" font-variant="normal" font-weight="400" font-stretch="normal" font-size="165" text-anchor="start" direction="ltr" writing-mode="lr-tb" unicode-bidi="normal" text-decoration="none" transform="matrix(1 0 0 1 1130.03 1165)">Loyalty program</text><g transform="matrix(0.000360892 0 0 0.000360892 526 1028)"><g clip-path="url(#clip1)" transform="matrix(1 0 0 1.00047 -0.0690252 -0.0260121)"><use width="100%" height="100%" xlink:href="#img0" opacity="1" transform="scale(932.873 932.873)"></use></g></g></g></g></svg>
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "EmployeeAgencyCredential",
|
|
4
|
+
"title": "Employee Agency Verifiable Credential",
|
|
5
|
+
"description": "A Verifiable Credential for employees working at a travel agency.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["employee", "iss", "iat", "vct", "cnf"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"employee": {
|
|
10
|
+
"title": "Employee",
|
|
11
|
+
"description": "An individual employed by a travel agency.",
|
|
12
|
+
"type": "object",
|
|
13
|
+
"required": ["salutation", "givenName", "surname", "phoneNumber", "employeeID", "email", "jobTitle"],
|
|
14
|
+
"properties": {
|
|
15
|
+
"salutation": {
|
|
16
|
+
"title": "Credential Subject Salutation",
|
|
17
|
+
"description": "Honorific or title prefix (e.g., Mr., Mrs., Ms.).",
|
|
18
|
+
"type": "string",
|
|
19
|
+
"minLength": 1,
|
|
20
|
+
"maxLength": 10
|
|
21
|
+
},
|
|
22
|
+
"givenName": {
|
|
23
|
+
"title": "Credential Subject Given Name",
|
|
24
|
+
"type": "string",
|
|
25
|
+
"minLength": 1,
|
|
26
|
+
"maxLength": 64
|
|
27
|
+
},
|
|
28
|
+
"surname": {
|
|
29
|
+
"title": "Credential Subject Surname",
|
|
30
|
+
"type": "string",
|
|
31
|
+
"minLength": 1,
|
|
32
|
+
"maxLength": 64
|
|
33
|
+
},
|
|
34
|
+
"phoneNumber": {
|
|
35
|
+
"title": "Credential Subject Phone Number",
|
|
36
|
+
"description": "Employee's phone number, separated into country code and local number.",
|
|
37
|
+
"type": "object",
|
|
38
|
+
"required": ["countryCode", "localNumber"],
|
|
39
|
+
"properties": {
|
|
40
|
+
"countryCode": {
|
|
41
|
+
"title": "Country Code",
|
|
42
|
+
"description": "Phone number country code in E.164 format (e.g., +1, +44).",
|
|
43
|
+
"type": "string",
|
|
44
|
+
"minLength": 2,
|
|
45
|
+
"maxLength": 4
|
|
46
|
+
},
|
|
47
|
+
"localNumber": {
|
|
48
|
+
"title": "Local Number",
|
|
49
|
+
"description": "The local portion of the phone number (area code + number).",
|
|
50
|
+
"type": "string",
|
|
51
|
+
"minLength": 6,
|
|
52
|
+
"maxLength": 20
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"employeeID": {
|
|
57
|
+
"title": "Credential Subject Employee ID",
|
|
58
|
+
"description": "Unique identifier for the employee within the organization.",
|
|
59
|
+
"type": "string",
|
|
60
|
+
"maxLength": 35
|
|
61
|
+
},
|
|
62
|
+
"email": {
|
|
63
|
+
"title": "Credential Subject Email",
|
|
64
|
+
"type": "string",
|
|
65
|
+
"format": "email",
|
|
66
|
+
"maxLength": 254
|
|
67
|
+
},
|
|
68
|
+
"jobTitle": {
|
|
69
|
+
"title": "Credential Subject Job Title",
|
|
70
|
+
"description": "Official title or role of the employee within the travel agency.",
|
|
71
|
+
"type": "string",
|
|
72
|
+
"minLength": 2,
|
|
73
|
+
"maxLength": 88
|
|
74
|
+
},
|
|
75
|
+
"pcc": {
|
|
76
|
+
"title": "Credential Subject PCC Codes",
|
|
77
|
+
"description": "An array of Pseudo City Codes (PCCs) associated with the employee.",
|
|
78
|
+
"type": "array",
|
|
79
|
+
"items": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"description": "Pseudo City Code for a branch or agency."
|
|
82
|
+
},
|
|
83
|
+
"minItems": 0,
|
|
84
|
+
"uniqueItems": true
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"iss": {
|
|
89
|
+
"title": "Issuer",
|
|
90
|
+
"description": "URI identifying the issuer of the credential.",
|
|
91
|
+
"type": "string",
|
|
92
|
+
"format": "uri"
|
|
93
|
+
},
|
|
94
|
+
"iat": {
|
|
95
|
+
"title": "Issued At",
|
|
96
|
+
"description": "The time at which the credential was issued (Unix timestamp).",
|
|
97
|
+
"type": "integer"
|
|
98
|
+
},
|
|
99
|
+
"exp": {
|
|
100
|
+
"title": "Expiration",
|
|
101
|
+
"description": "The time at which the credential expires (Unix timestamp).",
|
|
102
|
+
"type": "integer"
|
|
103
|
+
},
|
|
104
|
+
"vct": {
|
|
105
|
+
"title": "Verifiable Credential Type",
|
|
106
|
+
"description": "A URI or string identifying the type or context of this credential.",
|
|
107
|
+
"type": "string"
|
|
108
|
+
},
|
|
109
|
+
"cnf": {
|
|
110
|
+
"title": "Confirmation",
|
|
111
|
+
"description": "Proof-of-possession key information used to bind the credential to a specific holder.",
|
|
112
|
+
"type": "object"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|