@pagopa/io-react-native-wallet 2.4.2 → 2.5.0
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/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +148 -123
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/commonjs/sd-jwt/index.js.map +1 -1
- package/lib/commonjs/utils/parser.js +20 -0
- package/lib/commonjs/utils/parser.js.map +1 -0
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js +144 -119
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/module/sd-jwt/__test__/index.test.js +1 -1
- package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
- package/lib/module/sd-jwt/index.js +1 -3
- package/lib/module/sd-jwt/index.js.map +1 -1
- package/lib/module/utils/parser.js +12 -0
- package/lib/module/utils/parser.js.map +1 -0
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/index.d.ts +1 -1
- package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
- package/lib/typescript/utils/parser.d.ts +9 -0
- package/lib/typescript/utils/parser.d.ts.map +1 -0
- package/package.json +7 -2
- package/src/credential/issuance/07-verify-and-parse-credential.ts +138 -94
- package/src/sd-jwt/__test__/index.test.ts +1 -1
- package/src/sd-jwt/index.ts +7 -5
- package/src/utils/parser.ts +18 -0
- package/lib/commonjs/utils/nestedProperty.js +0 -153
- package/lib/commonjs/utils/nestedProperty.js.map +0 -1
- package/lib/module/utils/nestedProperty.js +0 -147
- package/lib/module/utils/nestedProperty.js.map +0 -1
- package/lib/typescript/utils/nestedProperty.d.ts +0 -24
- package/lib/typescript/utils/nestedProperty.d.ts.map +0 -1
- package/src/utils/nestedProperty.ts +0 -223
|
@@ -6,110 +6,125 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.verifyAndParseCredential = void 0;
|
|
7
7
|
var _errors = require("../../utils/errors");
|
|
8
8
|
var _sdJwt = require("../../sd-jwt");
|
|
9
|
-
var _converters = require("../../sd-jwt/converters");
|
|
10
9
|
var _jwk = require("../../utils/jwk");
|
|
11
10
|
var _mdoc = require("../../mdoc");
|
|
12
11
|
var _const = require("../../mdoc/const");
|
|
13
|
-
var _utils = require("../../mdoc/utils");
|
|
14
12
|
var _logging = require("../../utils/logging");
|
|
15
13
|
var _converter = require("../../mdoc/converter");
|
|
16
|
-
var
|
|
14
|
+
var _core = require("@sd-jwt/core");
|
|
15
|
+
var _cryptoNodejs = require("@sd-jwt/crypto-nodejs");
|
|
16
|
+
var _parser = require("../../utils/parser");
|
|
17
17
|
// The credential as a collection of attributes in plain value
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Parse a Sd-Jwt credential according to the issuer configuration
|
|
21
|
+
* @param credentialConfig - the list of supported credentials, as defined in the issuer configuration with their claims metadata
|
|
22
|
+
* @param parsedCredentialRaw - the raw parsed credential
|
|
23
|
+
* @param ignoreMissingAttributes - skip error when attributes declared in the issuer configuration are not found within disclosures
|
|
24
|
+
* @param includeUndefinedAttributes - include attributes not explicitly declared in the issuer configuration
|
|
25
|
+
* @returns The parsed credential with attributes in plain value
|
|
26
|
+
*/
|
|
27
|
+
const parseCredentialSdJwt = function (credentialConfig, parsedCredentialRaw) {
|
|
26
28
|
let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
27
29
|
let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
28
|
-
|
|
29
|
-
const message = `Received credential is of an unknown type. Expected one of [${credentialConfig.format}], received '${sdJwt.header.typ}'`;
|
|
30
|
-
_logging.Logger.log(_logging.LogLevel.ERROR, message);
|
|
31
|
-
throw new _errors.IoWalletError(message);
|
|
32
|
-
}
|
|
33
|
-
if (!credentialConfig.claims) {
|
|
34
|
-
_logging.Logger.log(_logging.LogLevel.ERROR, "Missing claims in the credential subject");
|
|
35
|
-
throw new _errors.IoWalletError("Missing claims in the credential subject"); // TODO [SIW-1268]: should not be optional
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const attrDefinitions = credentialConfig.claims;
|
|
30
|
+
const claimsMetadata = credentialConfig.claims || [];
|
|
39
31
|
|
|
40
|
-
//
|
|
32
|
+
// Check that all mandatory attributes defined in the issuer configuration are present in the credential
|
|
41
33
|
if (!ignoreMissingAttributes) {
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (
|
|
50
|
-
|
|
34
|
+
const missingPaths = [];
|
|
35
|
+
const rootKeysToVerify = new Set(claimsMetadata.map(c => c.path[0]).filter(p => typeof p === "string"));
|
|
36
|
+
for (const rootKey of rootKeysToVerify) {
|
|
37
|
+
if (!(rootKey in parsedCredentialRaw)) {
|
|
38
|
+
missingPaths.push(rootKey);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (missingPaths.length > 0) {
|
|
42
|
+
const missing = missingPaths.join(", ");
|
|
43
|
+
const received = Object.keys(parsedCredentialRaw).join(", ");
|
|
44
|
+
throw new _errors.IoWalletError(`Some attributes are missing in the credential. Missing: [${missing}], received: [${received}]`);
|
|
51
45
|
}
|
|
52
46
|
}
|
|
53
|
-
const definedValues = {};
|
|
54
47
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Helper to find display metadata for any given path
|
|
50
|
+
*/
|
|
51
|
+
const getDisplayNames = path => {
|
|
52
|
+
const match = claimsMetadata.find(c => (0, _parser.isPathEqual)(c.path, path));
|
|
53
|
+
if (!match) return undefined;
|
|
54
|
+
const nameMap = {};
|
|
55
|
+
for (const entry of match.display) {
|
|
56
|
+
nameMap[entry.locale] = entry.name;
|
|
63
57
|
}
|
|
64
|
-
return
|
|
65
|
-
}
|
|
58
|
+
return nameMap;
|
|
59
|
+
};
|
|
66
60
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
61
|
+
/**
|
|
62
|
+
* Recursive function to build the localized structure
|
|
63
|
+
*/
|
|
64
|
+
const processLevel = (currentData, currentPath) => {
|
|
65
|
+
// Handle Arrays
|
|
66
|
+
if (Array.isArray(currentData)) {
|
|
67
|
+
return currentData.map(item => processLevel(item, [...currentPath, null]));
|
|
72
68
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
if (!disclosureForThisKey) {
|
|
78
|
-
continue;
|
|
69
|
+
|
|
70
|
+
// Handle Objects
|
|
71
|
+
if (typeof currentData !== "object" || currentData === null) {
|
|
72
|
+
return currentData;
|
|
79
73
|
}
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
path,
|
|
84
|
-
display
|
|
85
|
-
} = _ref4;
|
|
86
|
-
return (0, _nestedProperty.createNestedProperty)(acc, path, disclosureValue, display);
|
|
87
|
-
}, {});
|
|
74
|
+
const dataObj = currentData;
|
|
75
|
+
const result = {};
|
|
76
|
+
const processedKeys = new Set();
|
|
88
77
|
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
78
|
+
// Identify unique keys in config at this level
|
|
79
|
+
const configKeysAtThisLevel = [];
|
|
80
|
+
for (const claim of claimsMetadata) {
|
|
81
|
+
// Check if the claim path starts with the current path
|
|
82
|
+
if ((0, _parser.isPrefixOf)(currentPath, claim.path)) {
|
|
83
|
+
const nextPart = claim.path[currentPath.length];
|
|
84
|
+
if ((typeof nextPart === "string" || typeof nextPart === "number") && !configKeysAtThisLevel.includes(nextPart)) {
|
|
85
|
+
configKeysAtThisLevel.push(nextPart);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
// Process keys
|
|
91
|
+
for (const key of configKeysAtThisLevel) {
|
|
92
|
+
const stringKey = key.toString();
|
|
93
|
+
const dataValue = dataObj[stringKey];
|
|
94
|
+
if (dataValue === undefined) continue;
|
|
95
|
+
const newPath = [...currentPath, key];
|
|
96
|
+
let localizedNames = getDisplayNames(newPath);
|
|
97
|
+
|
|
98
|
+
// Fallback for arrays
|
|
99
|
+
if (!localizedNames && Array.isArray(dataValue)) {
|
|
100
|
+
localizedNames = getDisplayNames([...newPath, null]);
|
|
101
|
+
}
|
|
102
|
+
result[stringKey] = {
|
|
103
|
+
name: localizedNames || stringKey,
|
|
104
|
+
value: processLevel(dataValue, newPath)
|
|
105
|
+
};
|
|
106
|
+
processedKeys.add(key);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Handle Undefined Attributes
|
|
110
|
+
if (includeUndefinedAttributes) {
|
|
111
|
+
for (const [key, value] of Object.entries(dataObj)) {
|
|
112
|
+
if (!processedKeys.has(key)) {
|
|
113
|
+
result[key] = {
|
|
114
|
+
name: key,
|
|
115
|
+
value: value
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
};
|
|
122
|
+
return processLevel(parsedCredentialRaw, []);
|
|
108
123
|
};
|
|
109
|
-
const parseCredentialMDoc = function (credentialConfig,
|
|
124
|
+
const parseCredentialMDoc = function (credentialConfig, _ref) {
|
|
110
125
|
let {
|
|
111
126
|
issuerSigned
|
|
112
|
-
} =
|
|
127
|
+
} = _ref;
|
|
113
128
|
let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
114
129
|
let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
115
130
|
if (!credentialConfig) {
|
|
@@ -118,37 +133,37 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
|
|
118
133
|
if (!credentialConfig.claims) {
|
|
119
134
|
throw new _errors.IoWalletError("Missing claims in the credential subject");
|
|
120
135
|
}
|
|
121
|
-
const attrDefinitions = credentialConfig.claims.map(
|
|
136
|
+
const attrDefinitions = credentialConfig.claims.map(_ref2 => {
|
|
122
137
|
let {
|
|
123
138
|
path: [namespace, attribute],
|
|
124
139
|
display
|
|
125
|
-
} =
|
|
140
|
+
} = _ref2;
|
|
126
141
|
return [namespace, attribute, display];
|
|
127
142
|
});
|
|
128
143
|
if (!issuerSigned.nameSpaces) {
|
|
129
144
|
throw new _errors.IoWalletError("Missing claims in the credential");
|
|
130
145
|
}
|
|
131
|
-
const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(
|
|
132
|
-
let [namespace, values] =
|
|
146
|
+
const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref3 => {
|
|
147
|
+
let [namespace, values] = _ref3;
|
|
133
148
|
return values.map(v => [namespace, v.elementIdentifier, v.elementValue]);
|
|
134
149
|
});
|
|
135
150
|
|
|
136
151
|
// Check that all mandatory attributes defined in the issuer configuration are present in the disclosure set
|
|
137
152
|
// and filter the non present ones
|
|
138
|
-
const attrsNotInDisclosures = attrDefinitions.filter(
|
|
139
|
-
let [attrDefNamespace, attrKey] =
|
|
140
|
-
return !flatNamespaces.some(
|
|
141
|
-
let [namespace, claim] =
|
|
153
|
+
const attrsNotInDisclosures = attrDefinitions.filter(_ref4 => {
|
|
154
|
+
let [attrDefNamespace, attrKey] = _ref4;
|
|
155
|
+
return !flatNamespaces.some(_ref5 => {
|
|
156
|
+
let [namespace, claim] = _ref5;
|
|
142
157
|
return attrDefNamespace === namespace && attrKey === claim;
|
|
143
158
|
});
|
|
144
159
|
});
|
|
145
160
|
if (attrsNotInDisclosures.length > 0) {
|
|
146
|
-
const missing = attrsNotInDisclosures.map(
|
|
147
|
-
let [, attrKey] =
|
|
161
|
+
const missing = attrsNotInDisclosures.map(_ref6 => {
|
|
162
|
+
let [, attrKey] = _ref6;
|
|
148
163
|
return attrKey;
|
|
149
164
|
}).join(", ");
|
|
150
|
-
const received = flatNamespaces.map(
|
|
151
|
-
let [, attrKey] =
|
|
165
|
+
const received = flatNamespaces.map(_ref7 => {
|
|
166
|
+
let [, attrKey] = _ref7;
|
|
152
167
|
return attrKey;
|
|
153
168
|
}).join(", ");
|
|
154
169
|
if (!ignoreMissingAttributes) {
|
|
@@ -159,38 +174,38 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
|
|
159
174
|
// Attributes defined in the issuer configuration and present in the disclosure set
|
|
160
175
|
const definedValues = attrDefinitions
|
|
161
176
|
// Retrieve the value from the corresponding disclosure
|
|
162
|
-
.map(
|
|
177
|
+
.map(_ref8 => {
|
|
163
178
|
var _flatNamespaces$find;
|
|
164
|
-
let [attrDefNamespace, attrKey, display] =
|
|
179
|
+
let [attrDefNamespace, attrKey, display] = _ref8;
|
|
165
180
|
return [attrDefNamespace, attrKey, {
|
|
166
181
|
display,
|
|
167
|
-
value: (_flatNamespaces$find = flatNamespaces.find(
|
|
168
|
-
let [namespace, name] =
|
|
182
|
+
value: (_flatNamespaces$find = flatNamespaces.find(_ref9 => {
|
|
183
|
+
let [namespace, name] = _ref9;
|
|
169
184
|
return attrDefNamespace === namespace && name === attrKey;
|
|
170
185
|
})) === null || _flatNamespaces$find === void 0 ? void 0 : _flatNamespaces$find[2]
|
|
171
186
|
}];
|
|
172
187
|
})
|
|
173
188
|
//filter the not found elements
|
|
174
|
-
.filter(
|
|
175
|
-
let [_, __, definition] =
|
|
189
|
+
.filter(_ref10 => {
|
|
190
|
+
let [_, __, definition] = _ref10;
|
|
176
191
|
return definition.value !== undefined;
|
|
177
192
|
})
|
|
178
193
|
// Add a human-readable attribute name, with i18n, in the form { locale: name }
|
|
179
194
|
// Example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
|
|
180
|
-
.reduce((acc,
|
|
195
|
+
.reduce((acc, _ref11) => {
|
|
181
196
|
let [attrDefNamespace, attrKey, {
|
|
182
197
|
display,
|
|
183
198
|
value
|
|
184
|
-
}] =
|
|
199
|
+
}] = _ref11;
|
|
185
200
|
return {
|
|
186
201
|
...acc,
|
|
187
|
-
[(0,
|
|
202
|
+
[(0, _mdoc.getParsedCredentialClaimKey)(attrDefNamespace, attrKey)]: {
|
|
188
203
|
value,
|
|
189
|
-
name: display.reduce((names,
|
|
204
|
+
name: display.reduce((names, _ref12) => {
|
|
190
205
|
let {
|
|
191
206
|
locale,
|
|
192
207
|
name
|
|
193
|
-
} =
|
|
208
|
+
} = _ref12;
|
|
194
209
|
return {
|
|
195
210
|
...names,
|
|
196
211
|
[locale]: name
|
|
@@ -200,12 +215,12 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
|
|
200
215
|
};
|
|
201
216
|
}, {});
|
|
202
217
|
if (includeUndefinedAttributes) {
|
|
203
|
-
const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(
|
|
204
|
-
let [namespace, key] =
|
|
205
|
-
return !definedValues[(0,
|
|
206
|
-
}).map(
|
|
207
|
-
let [namespace, key, value] =
|
|
208
|
-
return [(0,
|
|
218
|
+
const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(_ref13 => {
|
|
219
|
+
let [namespace, key] = _ref13;
|
|
220
|
+
return !definedValues[(0, _mdoc.getParsedCredentialClaimKey)(namespace, key)];
|
|
221
|
+
}).map(_ref14 => {
|
|
222
|
+
let [namespace, key, value] = _ref14;
|
|
223
|
+
return [(0, _mdoc.getParsedCredentialClaimKey)(namespace, key), {
|
|
209
224
|
value,
|
|
210
225
|
name: key
|
|
211
226
|
}];
|
|
@@ -233,6 +248,7 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
|
|
233
248
|
*
|
|
234
249
|
*/
|
|
235
250
|
async function verifyCredentialSdJwt(rawCredential, issuerKeys, holderBindingContext) {
|
|
251
|
+
// TODO: change verification using sd-jwt library with 1.3.x update
|
|
236
252
|
const [decodedCredential, holderBindingKey] =
|
|
237
253
|
// parallel for optimization
|
|
238
254
|
await Promise.all([(0, _sdJwt.verify)(rawCredential, issuerKeys, _sdJwt.SdJwt4VC), holderBindingContext.getPublicKey()]);
|
|
@@ -244,8 +260,12 @@ async function verifyCredentialSdJwt(rawCredential, issuerKeys, holderBindingCon
|
|
|
244
260
|
_logging.Logger.log(_logging.LogLevel.ERROR, message);
|
|
245
261
|
throw new _errors.IoWalletError(message);
|
|
246
262
|
}
|
|
247
|
-
|
|
263
|
+
const sdJwtInstance = new _core.SDJwtInstance({
|
|
264
|
+
hasher: _cryptoNodejs.digest
|
|
265
|
+
});
|
|
266
|
+
return await sdJwtInstance.decode(rawCredential);
|
|
248
267
|
}
|
|
268
|
+
|
|
249
269
|
/**
|
|
250
270
|
* Given a credential, verify it's in the supported format
|
|
251
271
|
* and the credential is correctly signed
|
|
@@ -274,12 +294,12 @@ async function verifyCredentialMDoc(rawCredential, x509CertRoot, holderBindingCo
|
|
|
274
294
|
}
|
|
275
295
|
return decodedCredential;
|
|
276
296
|
}
|
|
277
|
-
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId,
|
|
297
|
+
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId, _ref15) => {
|
|
278
298
|
let {
|
|
279
299
|
credentialCryptoContext,
|
|
280
300
|
ignoreMissingAttributes,
|
|
281
301
|
includeUndefinedAttributes
|
|
282
|
-
} =
|
|
302
|
+
} = _ref15;
|
|
283
303
|
const decoded = await verifyCredentialSdJwt(credential, issuerConf.openid_credential_issuer.jwks.keys, credentialCryptoContext);
|
|
284
304
|
_logging.Logger.log(_logging.LogLevel.DEBUG, `Decoded credential: ${JSON.stringify(decoded)}`);
|
|
285
305
|
const credentialConfig = issuerConf.openid_credential_issuer.credential_configurations_supported[credentialConfigurationId];
|
|
@@ -287,33 +307,38 @@ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialC
|
|
|
287
307
|
_logging.Logger.log(_logging.LogLevel.ERROR, `Credential type not supported by the issuer: ${credentialConfigurationId}`);
|
|
288
308
|
throw new _errors.IoWalletError("Credential type not supported by the issuer");
|
|
289
309
|
}
|
|
290
|
-
const
|
|
291
|
-
const
|
|
292
|
-
|
|
310
|
+
const parsedCredentialRaw = await decoded.getClaims(_cryptoNodejs.digest);
|
|
311
|
+
const parsedCredential = parseCredentialSdJwt(credentialConfig, parsedCredentialRaw, ignoreMissingAttributes, includeUndefinedAttributes);
|
|
312
|
+
const issuedAt = typeof parsedCredentialRaw.iat === "number" ? new Date(parsedCredentialRaw.iat * 1000) : undefined;
|
|
313
|
+
if (typeof parsedCredentialRaw.exp !== "number") {
|
|
314
|
+
throw new _errors.IoWalletError("Invalid or missing expiration claim (exp)");
|
|
315
|
+
}
|
|
316
|
+
const expiration = new Date(parsedCredentialRaw.exp * 1000);
|
|
317
|
+
_logging.Logger.log(_logging.LogLevel.DEBUG, `Parsed credential: ${JSON.stringify(parsedCredential)}\nIssued at: ${issuedAt}`);
|
|
293
318
|
return {
|
|
294
319
|
parsedCredential,
|
|
295
|
-
expiration
|
|
296
|
-
issuedAt
|
|
320
|
+
expiration,
|
|
321
|
+
issuedAt
|
|
297
322
|
};
|
|
298
323
|
};
|
|
299
|
-
const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId,
|
|
324
|
+
const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId, _ref16, x509CertRoot) => {
|
|
300
325
|
var _parsedCredential$get, _parsedCredential$get2;
|
|
301
326
|
let {
|
|
302
327
|
credentialCryptoContext,
|
|
303
328
|
ignoreMissingAttributes
|
|
304
|
-
} =
|
|
329
|
+
} = _ref16;
|
|
305
330
|
if (!x509CertRoot) {
|
|
306
331
|
throw new _errors.IoWalletError("Missing x509CertRoot");
|
|
307
332
|
}
|
|
308
333
|
const decoded = await verifyCredentialMDoc(credential, x509CertRoot, credentialCryptoContext);
|
|
309
334
|
const credentialConfig = issuerConf.openid_credential_issuer.credential_configurations_supported[credentialConfigurationId];
|
|
310
335
|
const parsedCredential = parseCredentialMDoc(credentialConfig, decoded, ignoreMissingAttributes, ignoreMissingAttributes);
|
|
311
|
-
const expirationDate = (0, _converter.extractElementValueAsDate)(parsedCredential === null || parsedCredential === void 0 || (_parsedCredential$get = parsedCredential[(0,
|
|
336
|
+
const expirationDate = (0, _converter.extractElementValueAsDate)(parsedCredential === null || parsedCredential === void 0 || (_parsedCredential$get = parsedCredential[(0, _mdoc.getParsedCredentialClaimKey)(_const.MDOC_DEFAULT_NAMESPACE, "expiry_date")]) === null || _parsedCredential$get === void 0 ? void 0 : _parsedCredential$get.value);
|
|
312
337
|
if (!expirationDate) {
|
|
313
338
|
throw new _errors.IoWalletError(`expirationDate must be present!!`);
|
|
314
339
|
}
|
|
315
340
|
expirationDate.setDate(expirationDate.getDate() + 1);
|
|
316
|
-
const maybeIssuedAt = (0, _converter.extractElementValueAsDate)(parsedCredential === null || parsedCredential === void 0 || (_parsedCredential$get2 = parsedCredential[(0,
|
|
341
|
+
const maybeIssuedAt = (0, _converter.extractElementValueAsDate)(parsedCredential === null || parsedCredential === void 0 || (_parsedCredential$get2 = parsedCredential[(0, _mdoc.getParsedCredentialClaimKey)(_const.MDOC_DEFAULT_NAMESPACE, "issue_date")]) === null || _parsedCredential$get2 === void 0 ? void 0 : _parsedCredential$get2.value);
|
|
317
342
|
maybeIssuedAt === null || maybeIssuedAt === void 0 ? void 0 : maybeIssuedAt.setDate(maybeIssuedAt.getDate() + 1);
|
|
318
343
|
return {
|
|
319
344
|
parsedCredential,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_errors","require","_sdJwt","_converters","_jwk","_mdoc","_const","_utils","_logging","_converter","_nestedProperty","parseCredentialSdJwt","credentialConfig","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","format","header","typ","message","Logger","log","LogLevel","ERROR","IoWalletError","claims","attrDefinitions","disclosedKeys","Set","map","_ref2","name","payloadKeys","Object","keys","payload","definedTopLevelKeys","def","path","missingKeys","filter","key","has","join","definedValues","groupedDefinitions","reduce","acc","group","push","topLevelKey","definitionsForThisKey","disclosureForThisKey","find","_ref3","disclosureValue","tempObjectForGroup","_ref4","display","createNestedProperty","assign","undefinedValues","fromEntries","_","includes","_ref5","value","parseCredentialMDoc","_ref6","issuerSigned","_ref7","namespace","attribute","nameSpaces","flatNamespaces","entries","flatMap","_ref8","values","v","elementIdentifier","elementValue","attrsNotInDisclosures","_ref9","attrDefNamespace","attrKey","some","_ref10","claim","missing","_ref11","received","_ref12","_ref13","_flatNamespaces$find","_ref14","_ref15","__","definition","_ref16","getParsedCredentialClaimKey","names","_ref17","locale","_ref18","_ref19","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","isSameThumbprint","jwk","kid","verifyCredentialMDoc","x509CertRoot","verifyMdoc","issuerAuth","deviceKeyInfo","deviceKey","verifyAndParseCredentialSdJwt","issuerConf","credential","credentialConfigurationId","_ref20","credentialCryptoContext","decoded","openid_credential_issuer","jwks","DEBUG","JSON","stringify","credential_configurations_supported","parsedCredential","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","_ref21","_parsedCredential$get","_parsedCredential$get2","expirationDate","extractElementValueAsDate","MDOC_DEFAULT_NAMESPACE","setDate","getDate","verifyAndParseCredential","context","_issuerConf$openid_cr","exports"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_errors","require","_sdJwt","_jwk","_mdoc","_const","_logging","_converter","_core","_cryptoNodejs","_parser","parseCredentialSdJwt","credentialConfig","parsedCredentialRaw","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","claimsMetadata","claims","missingPaths","rootKeysToVerify","Set","map","c","path","filter","p","rootKey","push","missing","join","received","Object","keys","IoWalletError","getDisplayNames","match","find","isPathEqual","nameMap","entry","display","locale","name","processLevel","currentData","currentPath","Array","isArray","item","dataObj","result","processedKeys","configKeysAtThisLevel","claim","isPrefixOf","nextPart","includes","key","stringKey","toString","dataValue","newPath","localizedNames","value","add","entries","has","parseCredentialMDoc","_ref","issuerSigned","attrDefinitions","_ref2","namespace","attribute","nameSpaces","flatNamespaces","flatMap","_ref3","values","v","elementIdentifier","elementValue","attrsNotInDisclosures","_ref4","attrDefNamespace","attrKey","some","_ref5","_ref6","_ref7","definedValues","_ref8","_flatNamespaces$find","_ref9","_ref10","_","__","definition","reduce","acc","_ref11","getParsedCredentialClaimKey","names","_ref12","undefinedValues","fromEntries","_ref13","_ref14","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","sdJwt","payload","isSameThumbprint","jwk","message","kid","Logger","log","LogLevel","ERROR","sdJwtInstance","SDJwtInstance","hasher","digest","decode","verifyCredentialMDoc","x509CertRoot","verifyMdoc","issuerAuth","deviceKeyInfo","deviceKey","verifyAndParseCredentialSdJwt","issuerConf","credential","credentialConfigurationId","_ref15","credentialCryptoContext","decoded","openid_credential_issuer","jwks","DEBUG","JSON","stringify","credential_configurations_supported","getClaims","parsedCredential","issuedAt","iat","Date","exp","expiration","verifyAndParseCredentialMDoc","_ref16","_parsedCredential$get","_parsedCredential$get2","expirationDate","extractElementValueAsDate","MDOC_DEFAULT_NAMESPACE","setDate","getDate","maybeIssuedAt","verifyAndParseCredential","context","_issuerConf$openid_cr","format","exports"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_ioReactNativeJwt","require","_types","_verifier","Errors","_interopRequireWildcard","exports","_jsBase","_utils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","decodeDisclosure","encoded","utf8String","Base64","decode","decoded","Disclosure","parse","JSON","token","customSchema","slice","rawSdJwt","rawDisclosures","split","decodedJwt","decodeJwt","parser","SdJwt4VC","sdJwt","header","protectedHeader","payload","disclosures","map","disclose","claims","paths","Promise","all","claim","disclosure","find","_ref","name","ClaimsNotFoundBetweenDisclosures","hash","sha256ToBase64","_sd","includes","index","indexOf","path","ClaimsNotFoundInToken","filteredDisclosures","filter","Boolean","d","disclosedToken","join","verify","publicKey","verifyJwt","verifyDisclosure","prepareVpToken","nonce","client_id","_ref2","verifiableCredential","requestedClaims","cryptoContext","vp","sd_hash","kbJwt","SignJWT","setProtectedHeader","typ","alg","setPayload","setAudience","setIssuedAt","sign","vp_token"],"sourceRoot":"../../../src","sources":["sd-jwt/index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,iBAAA,GAAAC,OAAA;
|
|
1
|
+
{"version":3,"names":["_ioReactNativeJwt","require","_types","_verifier","Errors","_interopRequireWildcard","exports","_jsBase","_utils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","defineProperty","enumerable","get","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set","decodeDisclosure","encoded","utf8String","Base64","decode","decoded","Disclosure","parse","JSON","token","customSchema","slice","rawSdJwt","rawDisclosures","split","decodedJwt","decodeJwt","parser","SdJwt4VC","sdJwt","header","protectedHeader","payload","disclosures","map","disclose","claims","paths","Promise","all","claim","disclosure","find","_ref","name","ClaimsNotFoundBetweenDisclosures","hash","sha256ToBase64","_sd","includes","index","indexOf","path","ClaimsNotFoundInToken","filteredDisclosures","filter","Boolean","d","disclosedToken","join","verify","publicKey","verifyJwt","verifyDisclosure","prepareVpToken","nonce","client_id","_ref2","verifiableCredential","requestedClaims","cryptoContext","vp","sd_hash","kbJwt","SignJWT","setProtectedHeader","typ","alg","setPayload","setAudience","setIssuedAt","sign","vp_token"],"sourceRoot":"../../../src","sources":["sd-jwt/index.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.isPrefixOf = exports.isPathEqual = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Helper to determine if two paths are equal (Supports string | number | null)
|
|
9
|
+
*/
|
|
10
|
+
const isPathEqual = (pathA, pathB) => pathA.length === pathB.length && pathA.every((v, i) => v === pathB[i]);
|
|
11
|
+
/**
|
|
12
|
+
* Helper to check if prefix is the start of fullPath
|
|
13
|
+
*/
|
|
14
|
+
exports.isPathEqual = isPathEqual;
|
|
15
|
+
const isPrefixOf = (prefix, fullPath) => {
|
|
16
|
+
if (prefix.length >= fullPath.length) return false;
|
|
17
|
+
return prefix.every((v, i) => v === fullPath[i]);
|
|
18
|
+
};
|
|
19
|
+
exports.isPrefixOf = isPrefixOf;
|
|
20
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isPathEqual","pathA","pathB","length","every","v","i","exports","isPrefixOf","prefix","fullPath"],"sourceRoot":"../../../src","sources":["utils/parser.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,MAAMA,WAAW,GAAGA,CACzBC,KAAiC,EACjCC,KAAiC,KAEjCD,KAAK,CAACE,MAAM,KAAKD,KAAK,CAACC,MAAM,IAAIF,KAAK,CAACG,KAAK,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,KAAKH,KAAK,CAACI,CAAC,CAAC,CAAC;AACxE;AACA;AACA;AAFAC,OAAA,CAAAP,WAAA,GAAAA,WAAA;AAGO,MAAMQ,UAAU,GAAGA,CACxBC,MAAkC,EAClCC,QAAoC,KACxB;EACZ,IAAID,MAAM,CAACN,MAAM,IAAIO,QAAQ,CAACP,MAAM,EAAE,OAAO,KAAK;EAClD,OAAOM,MAAM,CAACL,KAAK,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,KAAKK,QAAQ,CAACJ,CAAC,CAAC,CAAC;AAClD,CAAC;AAACC,OAAA,CAAAC,UAAA,GAAAA,UAAA"}
|