Skip to content

Commit 180ef22

Browse files
committed
Add all required claims for mdl
1 parent 1df085a commit 180ef22

File tree

4 files changed

+617
-117
lines changed

4 files changed

+617
-117
lines changed

app/src/main/assets/databasenew.json

Lines changed: 156 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -19,112 +19,160 @@
1919
],
2020
"claims": [
2121
{
22-
"path": ["org.iso.18013.5.1", "family_name"],
23-
"display": [
24-
{
25-
"name": "Family Name",
26-
"locale": "en-US"
27-
}
28-
]
29-
},
30-
{
31-
"path": ["org.iso.18013.5.1", "given_name"],
32-
"display": [
33-
{
34-
"name": "Given Name",
35-
"locale": "en-US"
36-
}
37-
]
38-
},
39-
{
40-
"path": ["org.iso.18013.5.1", "driving_privileges"],
41-
"display": [
42-
{
43-
"name": "Driving Privs",
44-
"locale": "en-US"
45-
}
46-
]
47-
},
48-
{
49-
"path": ["org.iso.18013.5.1", "issue_date"],
50-
"display": [
51-
{
52-
"name": "Issue Date",
53-
"locale": "en-US"
54-
}
55-
]
56-
},
57-
{
58-
"path": ["org.iso.18013.5.1", "expiry_date"],
59-
"display": [
60-
{
61-
"name": "Expiry Date",
62-
"locale": "en-US"
63-
}
64-
]
65-
},
66-
{
67-
"path": ["org.iso.18013.5.1", "birth_date"],
68-
"display": [
69-
{
70-
"name": "Birth Date",
71-
"locale": "en-US"
72-
}
73-
]
74-
},
75-
{
76-
"path": ["org.iso.18013.5.1", "document_number"],
77-
"display": [
78-
{
79-
"name": "Document Number",
80-
"locale": "en-US"
81-
}
82-
]
83-
},
84-
{
85-
"path": ["org.iso.18013.5.1", "issuing_authority"],
86-
"display": [
87-
{
88-
"name": "Issuing Authority",
89-
"locale": "en-US"
90-
}
91-
]
92-
},
93-
{
94-
"path": ["org.iso.18013.5.1", "issuing_jurisdiction"],
95-
"display": [
96-
{
97-
"name": "Issuing Jurisdiction",
98-
"locale": "en-US"
99-
}
100-
]
101-
},
102-
{
103-
"path": ["org.iso.18013.5.1", "portrait"],
104-
"display": [
105-
{
106-
"name": "Portrait",
107-
"locale": "en-US"
108-
}
109-
]
110-
},
111-
{
112-
"path": ["org.iso.18013.5.1", "age_over_21"],
113-
"display": [
114-
{
115-
"name": "Age Over 21",
116-
"locale": "en-US"
117-
}
118-
]
119-
},
120-
{
121-
"path": ["org.iso.18013.5.1", "age_over_18"],
122-
"display": [
123-
{
124-
"name": "Age Over 18",
125-
"locale": "en-US"
126-
}
127-
]
22+
"path": [
23+
"org.iso.18013.5.1",
24+
"family_name"
25+
],
26+
"display": [
27+
{
28+
"name": "Family Name",
29+
"locale": "en-US"
30+
}
31+
]
32+
},
33+
{
34+
"path": [
35+
"org.iso.18013.5.1",
36+
"given_name"
37+
],
38+
"display": [
39+
{
40+
"name": "Given Name",
41+
"locale": "en-US"
42+
}
43+
]
44+
},
45+
{
46+
"path": [
47+
"org.iso.18013.5.1",
48+
"age_over_21"
49+
],
50+
"display": [
51+
{
52+
"name": "Age Over 21",
53+
"locale": "en-US"
54+
}
55+
]
56+
},
57+
{
58+
"path": [
59+
"org.iso.18013.5.1",
60+
"age_over_18"
61+
],
62+
"display": [
63+
{
64+
"name": "Age Over 18",
65+
"locale": "en-US"
66+
}
67+
]
68+
},
69+
{
70+
"path": [
71+
"org.iso.18013.5.1",
72+
"birth_date"
73+
],
74+
"display": [
75+
{
76+
"name": "Date of birth",
77+
"locale": "en-US"
78+
}
79+
]
80+
},
81+
{
82+
"path": [
83+
"org.iso.18013.5.1",
84+
"issue_date"
85+
],
86+
"display": [
87+
{
88+
"name": "Date of issue",
89+
"locale": "en-US"
90+
}
91+
]
92+
},
93+
{
94+
"path": [
95+
"org.iso.18013.5.1",
96+
"expiry_date"
97+
],
98+
"display": [
99+
{
100+
"name": "Date of expiry",
101+
"locale": "en-US"
102+
}
103+
]
104+
},
105+
{
106+
"path": [
107+
"org.iso.18013.5.1",
108+
"issuing_country"
109+
],
110+
"display": [
111+
{
112+
"name": "Issuing country",
113+
"locale": "en-US"
114+
}
115+
]
116+
},
117+
{
118+
"path": [
119+
"org.iso.18013.5.1",
120+
"issuing_authority"
121+
],
122+
"display": [
123+
{
124+
"name": "Issuing authority",
125+
"locale": "en-US"
126+
}
127+
]
128+
},
129+
{
130+
"path": [
131+
"org.iso.18013.5.1",
132+
"document_number"
133+
],
134+
"display": [
135+
{
136+
"name": "License number",
137+
"locale": "en-US"
138+
}
139+
]
140+
},
141+
{
142+
"path": [
143+
"org.iso.18013.5.1",
144+
"portrait"
145+
],
146+
"display": [
147+
{
148+
"name": "Portrait",
149+
"locale": "en-US"
150+
}
151+
]
152+
},
153+
{
154+
"path": [
155+
"org.iso.18013.5.1",
156+
"driving_privileges"
157+
],
158+
"display": [
159+
{
160+
"name": "Vehicle category",
161+
"locale": "en-US"
162+
}
163+
]
164+
},
165+
{
166+
"path": [
167+
"org.iso.18013.5.1",
168+
"un_distinguishing_sign"
169+
],
170+
"display": [
171+
{
172+
"name": "UN distinguishing sign",
173+
"locale": "en-US"
174+
}
175+
]
128176
}
129177
]
130178
},
@@ -137,9 +185,9 @@
137185
"key": {
138186
"type": "SOFTWARE",
139187
"publicKey": "123",
140-
"privateKey": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgCR8tEaAtvtXVEa2fM7aMpxUZRhyu5Y2SR0_Bp1E8UHuhRANCAASp0QHrqBt9BpxGbKH1P80cVxPaBSBhQM4sLe29LENHzJ2-R1C_PPrVXVNXeyvz7pgfw_w11MtYB7uyIfLHhq0H"
188+
"privateKey": "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgK9eN0SFpsfFDBlJUjKRj5Xo1pwwctzuCSGQExYs80GyhRANCAAQDfSFivQvB-8kfezlFgl9UAFYiSGlJp7X28ud2Uc9TmPhU-5btTfT206ni-nDACc5r4ei9RQlYmLhrGRFSMtMQ"
141189
},
142-
"credential": "ompuYW1lU3BhY2VzoXFvcmcuaXNvLjE4MDEzLjUuMYTYGFhUpGhkaWdlc3RJRABmcmFuZG9tUMjGRP7AuIsZirpicOFvERdxZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWVsZWxlbWVudFZhbHVlZVNtaXRo2BhYUaRoZGlnZXN0SUQBZnJhbmRvbVCsBdFdbZfNIfp9rn_CzT6hcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWVsZWxlbWVudFZhbHVlY0pvbtgYWE-kaGRpZ2VzdElEAmZyYW5kb21QgCyMOQ_4783Qbny735jzMHFlbGVtZW50SWRlbnRpZmllcmthZ2Vfb3Zlcl8yMWxlbGVtZW50VmFsdWX12BhYT6RoZGlnZXN0SUQDZnJhbmRvbVBfjaNWdsrrnrAP_OwpaLEKcWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4bGVsZW1lbnRWYWx1ZfVqaXNzdWVyQXV0aIRDoQEmoRghWQLEMIICwDCCAmegAwIBAgIUHn8bMq1PNO_ksMwHt7DjM6cLGE0wCgYIKoZIzj0EAwIweTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxHDAaBgNVBAoME0RpZ2l0YWwgQ3JlZGVudGlhbHMxHzAdBgNVBAMMFmRpZ2l0YWxjcmVkZW50aWFscy5kZXYwHhcNMjUwMjE5MjMzMDE4WhcNMjYwMjE5MjMzMDE4WjB5MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEcMBoGA1UECgwTRGlnaXRhbCBDcmVkZW50aWFsczEfMB0GA1UEAwwWZGlnaXRhbGNyZWRlbnRpYWxzLmRldjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOt5Nivi1_OXw1AEfYPh42Is41VrNg9qaMdYuw3cavhsCa-aXV0NmTl2EsNaJ5GWmMoAD8ikwAFszYhIeNgF42mjgcwwgckwHwYDVR0jBBgwFoAUok_0idl8Ruhuo4bZR0jOzL7cz_UwHQYDVR0OBBYEFN_-aloS6cBixLyYpyXS2XD3emAoMDQGA1UdHwQtMCswKaAnoCWGI2h0dHBzOi8vZGlnaXRhbC1jcmVkZW50aWFscy5kZXYvY3JsMCoGA1UdEgQjMCGGH2h0dHBzOi8vZGlnaXRhbC1jcmVkZW50aWFscy5kZXYwDgYDVR0PAQH_BAQDAgeAMBUGA1UdJQEB_wQLMAkGByiBjF0FAQIwCgYIKoZIzj0EAwIDRwAwRAIgYcXL9XzB43vy4LEz2h8gMQRdcJtaIRQOemgwm8sHQucCIHCvouHEm_unjBXMCeUZ7QR_ympjGyHITw25_B9H9QsCWQHd2BhZAdimZ3ZlcnNpb25jMS4wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2Z2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbHZhbHVlRGlnZXN0c6Fxb3JnLmlzby4xODAxMy41LjGkAFggKbLb5DjtD0SKhZAnbnCbrtqIPvkEtVgZWXRLuiiYrSABWCCBZuuCm-uwy8LHdRKKwIj5ID-8YZ1EeGUg8FO6Qwwl3wJYIBLdLQ-o_8VTfDWrE2Vtw9cplJclvY_30g8jBjKO84xUA1ggCx-A7ME13-EqjPwAVmk1C2_6xt1jO9tK7gC_MjtduW1tZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCCp0QHrqBt9BpxGbKH1P80cVxPaBSBhQM4sLe29LENHzCJYIJ2-R1C_PPrVXVNXeyvz7pgfw_w11MtYB7uyIfLHhq0HbHZhbGlkaXR5SW5mb6Nmc2lnbmVkwHgbMjAyNS0wNC0yNFQxODoyNToxOS4zMTU4MzlaaXZhbGlkRnJvbcB4GzIwMjUtMDQtMjRUMTg6MjU6MTkuMzE1ODQ3Wmp2YWxpZFVudGlswHgbMjAzNS0wNC0xMlQxODoyNToxOS4zMTU4NDhaWEAui6i2kw7uqJK77oL-zYBOGWbBkuZ5uRCOxSBGN-_-feDHwsczIFRgZBdYN2YoHh-OSn9dQd4_nvimhlB2DMRl"
190+
"credential": "ompuYW1lU3BhY2VzoXFvcmcuaXNvLjE4MDEzLjUuMY3YGFhUpGhkaWdlc3RJRABmcmFuZG9tUKMCBuwPbpFaVG3-CUJN_I1xZWxlbWVudElkZW50aWZpZXJrZmFtaWx5X25hbWVsZWxlbWVudFZhbHVlZVNtaXRo2BhYUaRoZGlnZXN0SUQBZnJhbmRvbVDM4_B2jFL3QBTAByembduXcWVsZW1lbnRJZGVudGlmaWVyamdpdmVuX25hbWVsZWxlbWVudFZhbHVlY0pvbtgYWE-kaGRpZ2VzdElEAmZyYW5kb21QhLmFI7eqg2Ro4OsM62bog3FlbGVtZW50SWRlbnRpZmllcmthZ2Vfb3Zlcl8yMWxlbGVtZW50VmFsdWX12BhYT6RoZGlnZXN0SUQDZnJhbmRvbVBKKu2QEC4vpVzVAL56_ctBcWVsZW1lbnRJZGVudGlmaWVya2FnZV9vdmVyXzE4bGVsZW1lbnRWYWx1ZfXYGFhYpGhkaWdlc3RJRARmcmFuZG9tUCGjIK4ViH3Uiw2Tpjz3OvlxZWxlbWVudElkZW50aWZpZXJqYmlydGhfZGF0ZWxlbGVtZW50VmFsdWVqMTk4OC0wOS0wMdgYWFikaGRpZ2VzdElEBWZyYW5kb21QIeQKxRxi_zMb6k8t7If_lXFlbGVtZW50SWRlbnRpZmllcmppc3N1ZV9kYXRlbGVsZW1lbnRWYWx1ZWoyMDIyLTAxLTAx2BhYWaRoZGlnZXN0SUQGZnJhbmRvbVDwnupoFrZDt_IqbLg3xrqIcWVsZW1lbnRJZGVudGlmaWVya2V4cGlyeV9kYXRlbGVsZW1lbnRWYWx1ZWoyMDI2LTAxLTAx2BhYVaRoZGlnZXN0SUQHZnJhbmRvbVDXgeGjvYD1Pc-P3ZgbmCk5cWVsZW1lbnRJZGVudGlmaWVyb2lzc3VpbmdfY291bnRyeWxlbGVtZW50VmFsdWViVVPYGFhkpGhkaWdlc3RJRAhmcmFuZG9tUDDlm0YtJFNDA3qlfXWwNztxZWxlbWVudElkZW50aWZpZXJxaXNzdWluZ19hdXRob3JpdHlsZWxlbWVudFZhbHVlb0dvdGhhbSBDaXR5IERNVtgYWFukaGRpZ2VzdElECWZyYW5kb21Q2_ud3u0Ys7W1y4BU37KHcXFlbGVtZW50SWRlbnRpZmllcm9kb2N1bWVudF9udW1iZXJsZWxlbWVudFZhbHVlaDkwMDAxMjM02BhZAaukaGRpZ2VzdElECmZyYW5kb21QH0UZQ72t6FFX679NzH77hnFlbGVtZW50SWRlbnRpZmllcmhwb3J0cmFpdGxlbGVtZW50VmFsdWVZAV3_2P_gABBKRklGAAEBAAABAAEAAP_bAEMAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf_bAEMBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf_AABEIAAEAAQMBIgACEQEDEQH_xAAfAAABBQEBAQEBAQAAAAAAAAABAgMEBQYHCAkKC__EAIxAAIBAwMCBiICAAAAAAAAAGBAIDBQMEBwECBAgJChEVFh__EACARAAIBAgQGAQEAAAAAAAAAAAECAxEEACEFEiBBUWH_EACIRAAICAgEDBAIAAAAAAAAAAAERAgMAEiExBUFRI2Fx_9oADAMBAAIRAxEAPwD9yf4D-I_w4j_6_V_6Af8APSv_22BhYnKRoZGlnZXN0SUQLZnJhbmRvbVDUDGDiHCln69zmsfP4ORF0cWVsZW1lbnRJZGVudGlmaWVycmRyaXZpbmdfcHJpdmlsZWdlc2xlbGVtZW50VmFsdWWBo3V2ZWhpY2xlX2NhdGVnb3J5X2NvZGVhQWppc3N1ZV9kYXRlajIwMjAtMTAtMTBrZXhwaXJ5X2RhdGVqMjAyOC0xMC0xMNgYWF2kaGRpZ2VzdElEDGZyYW5kb21QhQ6rpMYPElbVssaOhx6mH3FlbGVtZW50SWRlbnRpZmllcnZ1bl9kaXN0aW5ndWlzaGluZ19zaWdubGVsZW1lbnRWYWx1ZWNVU0FqaXNzdWVyQXV0aIRDoQEmoRghWQLEMIICwDCCAmegAwIBAgIUHn8bMq1PNO_ksMwHt7DjM6cLGE0wCgYIKoZIzj0EAwIweTELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU1vdW50YWluIFZpZXcxHDAaBgNVBAoME0RpZ2l0YWwgQ3JlZGVudGlhbHMxHzAdBgNVBAMMFmRpZ2l0YWxjcmVkZW50aWFscy5kZXYwHhcNMjUwMjE5MjMzMDE4WhcNMjYwMjE5MjMzMDE4WjB5MQswCQYDVQQGEwJVUzETMBEGA1UECAwKQ2FsaWZvcm5pYTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzEcMBoGA1UECgwTRGlnaXRhbCBDcmVkZW50aWFsczEfMB0GA1UEAwwWZGlnaXRhbGNyZWRlbnRpYWxzLmRldjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOt5Nivi1_OXw1AEfYPh42Is41VrNg9qaMdYuw3cavhsCa-aXV0NmTl2EsNaJ5GWmMoAD8ikwAFszYhIeNgF42mjgcwwgckwHwYDVR0jBBgwFoAUok_0idl8Ruhuo4bZR0jOzL7cz_UwHQYDVR0OBBYEFN_-aloS6cBixLyYpyXS2XD3emAoMDQGA1UdHwQtMCswKaAnoCWGI2h0dHBzOi8vZGlnaXRhbC1jcmVkZW50aWFscy5kZXYvY3JsMCoGA1UdEgQjMCGGH2h0dHBzOi8vZGlnaXRhbC1jcmVkZW50aWFscy5kZXYwDgYDVR0PAQH_BAQDAgeAMBUGA1UdJQEB_wQLMAkGByiBjF0FAQIwCgYIKoZIzj0EAwIDRwAwRAIgYcXL9XzB43vy4LEz2h8gMQRdcJtaIRQOemgwm8sHQucCIHCvouHEm_unjBXMCeUZ7QR_ympjGyHITw25_B9H9QsCWQMY2BhZAxOmZ3ZlcnNpb25jMS4wb2RpZ2VzdEFsZ29yaXRobWdTSEEtMjU2Z2RvY1R5cGV1b3JnLmlzby4xODAxMy41LjEubURMbHZhbHVlRGlnZXN0c6Fxb3JnLmlzby4xODAxMy41LjGtAFggu7mJu4AHvHPlMDUnfVhLTVemHwK6a4e9TE6pQTY5YVgBWCCeDBELoQjZs5NrVPO_FUnnKz5TSPxUFGbzD7Ou1c7d1wJYIFnzJnPcGcImfSN-Yg7J3G2PA7venkNzxCstWfThNYbfA1ggds_dNhFknnD6h65mFncwqvPSlCdqxCQtNvfTq9NJ9RoEWCAJ_rcn6OdpBlXxOsl_tgIZDadkwOV9BO2vlE8z_HjVvwVYINuVCyf8HNFwqRCLCNIY9cl-iiOh1yk-4pELe61Y2vjnBlggGZZmsGIP0CG2Fz2Pcjgf7Mjn0rKfAe_fIrR2b7oD1LIHWCAkXQFZrFn-bidGLQFFvEzLja9ZFx_m6vQcCwywyquLpAhYIMlemdhs4zoTxmGMyZl8OAIPSQo1k2lY4Ysftk8kIoxCCVggk55YvqvQkUzkUdPMKi7SHDIk_5tEsX65xfxRYaB5OjIKWCCzvd5Rt7yZeINClt9F8LwO2oB6L5DiV3ELQw2UhC-orAtYIICTgJoDCFJ2aaYRR73ZFyX-idRP5lZrFYAuw9o-4kDxDFgglfbbi0P8j3Sv4LcqkpD3H1LJEMhCQGKtarFGd3yeZ1ZtZGV2aWNlS2V5SW5mb6FpZGV2aWNlS2V5pAECIAEhWCADfSFivQvB-8kfezlFgl9UAFYiSGlJp7X28ud2Uc9TmCJYIPhU-5btTfT206ni-nDACc5r4ei9RQlYmLhrGRFSMtMQbHZhbGlkaXR5SW5mb6Nmc2lnbmVkwHgbMjAyNS0wNC0yNVQwNjo0NToxMS45NjUwMDJaaXZhbGlkRnJvbcB4GzIwMjUtMDQtMjVUMDY6NDU6MTEuOTY1MDA5Wmp2YWxpZFVudGlswHgbMjAzNS0wNC0xM1QwNjo0NToxMS45NjUwMTBaWECzBfuK9V7ZJoJU9Gt0x7ZlYhLCQEVVJh6mJGh9WwEa1OUsYvbqIAPxHZF9agvFtiY173EJeBMMYWwWyZ9frGCf"
143191
}
144192
]
145193
},

testdata/create_database.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,18 @@
1919
mdoc_credential = cred["credential"]
2020
doctype = mdoc_credential["docType"]
2121
print("Creating {}".format(doctype))
22+
claims = []
2223
mdoc = create_mdoc(doctype, ds_cert_chain, ds_private_key)
2324
for namespace, elements in mdoc_credential["nameSpaces"].items():
2425
for element, value in elements.items():
25-
mdoc.add_data_item(namespace, element, value["value"])
26+
path = [namespace, element]
27+
display = [{"name": value["display"], "locale": "en-US"}]
28+
claims.append({"path": path, "display": display})
29+
if element == "portrait":
30+
mdoc.add_data_item(namespace, element, base64.urlsafe_b64decode(value["value"]))
31+
else:
32+
mdoc.add_data_item(namespace, element, value["value"])
33+
cred["claims"] = claims
2634
device_private_key = ec.generate_private_key(ec.SECP256R1())
2735
device_public_key = device_private_key.public_key()
2836
cred["issuerSigned"] = base64.urlsafe_b64encode(

0 commit comments

Comments
 (0)