@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
|
@@ -1,110 +1,125 @@
|
|
|
1
1
|
import { IoWalletError } from "../../utils/errors";
|
|
2
2
|
import { SdJwt4VC, verify as verifySdJwt } from "../../sd-jwt";
|
|
3
|
-
import { getValueFromDisclosures } from "../../sd-jwt/converters";
|
|
4
3
|
import { isSameThumbprint } from "../../utils/jwk";
|
|
5
|
-
import { verify as verifyMdoc } from "../../mdoc";
|
|
4
|
+
import { getParsedCredentialClaimKey, verify as verifyMdoc } from "../../mdoc";
|
|
6
5
|
import { MDOC_DEFAULT_NAMESPACE } from "../../mdoc/const";
|
|
7
|
-
import { getParsedCredentialClaimKey } from "../../mdoc/utils";
|
|
8
6
|
import { Logger, LogLevel } from "../../utils/logging";
|
|
9
7
|
import { extractElementValueAsDate } from "../../mdoc/converter";
|
|
10
|
-
import {
|
|
8
|
+
import { SDJwtInstance } from "@sd-jwt/core";
|
|
9
|
+
import { digest } from "@sd-jwt/crypto-nodejs";
|
|
10
|
+
import { isPathEqual, isPrefixOf } from "../../utils/parser";
|
|
11
11
|
|
|
12
12
|
// The credential as a collection of attributes in plain value
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Parse a Sd-Jwt credential according to the issuer configuration
|
|
16
|
+
* @param credentialConfig - the list of supported credentials, as defined in the issuer configuration with their claims metadata
|
|
17
|
+
* @param parsedCredentialRaw - the raw parsed credential
|
|
18
|
+
* @param ignoreMissingAttributes - skip error when attributes declared in the issuer configuration are not found within disclosures
|
|
19
|
+
* @param includeUndefinedAttributes - include attributes not explicitly declared in the issuer configuration
|
|
20
|
+
* @returns The parsed credential with attributes in plain value
|
|
21
|
+
*/
|
|
22
|
+
const parseCredentialSdJwt = function (credentialConfig, parsedCredentialRaw) {
|
|
21
23
|
let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
22
24
|
let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
23
|
-
|
|
24
|
-
const message = `Received credential is of an unknown type. Expected one of [${credentialConfig.format}], received '${sdJwt.header.typ}'`;
|
|
25
|
-
Logger.log(LogLevel.ERROR, message);
|
|
26
|
-
throw new IoWalletError(message);
|
|
27
|
-
}
|
|
28
|
-
if (!credentialConfig.claims) {
|
|
29
|
-
Logger.log(LogLevel.ERROR, "Missing claims in the credential subject");
|
|
30
|
-
throw new IoWalletError("Missing claims in the credential subject"); // TODO [SIW-1268]: should not be optional
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const attrDefinitions = credentialConfig.claims;
|
|
25
|
+
const claimsMetadata = credentialConfig.claims || [];
|
|
34
26
|
|
|
35
|
-
//
|
|
27
|
+
// Check that all mandatory attributes defined in the issuer configuration are present in the credential
|
|
36
28
|
if (!ignoreMissingAttributes) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
|
|
29
|
+
const missingPaths = [];
|
|
30
|
+
const rootKeysToVerify = new Set(claimsMetadata.map(c => c.path[0]).filter(p => typeof p === "string"));
|
|
31
|
+
for (const rootKey of rootKeysToVerify) {
|
|
32
|
+
if (!(rootKey in parsedCredentialRaw)) {
|
|
33
|
+
missingPaths.push(rootKey);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (missingPaths.length > 0) {
|
|
37
|
+
const missing = missingPaths.join(", ");
|
|
38
|
+
const received = Object.keys(parsedCredentialRaw).join(", ");
|
|
39
|
+
throw new IoWalletError(`Some attributes are missing in the credential. Missing: [${missing}], received: [${received}]`);
|
|
46
40
|
}
|
|
47
41
|
}
|
|
48
|
-
const definedValues = {};
|
|
49
42
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Helper to find display metadata for any given path
|
|
45
|
+
*/
|
|
46
|
+
const getDisplayNames = path => {
|
|
47
|
+
const match = claimsMetadata.find(c => isPathEqual(c.path, path));
|
|
48
|
+
if (!match) return undefined;
|
|
49
|
+
const nameMap = {};
|
|
50
|
+
for (const entry of match.display) {
|
|
51
|
+
nameMap[entry.locale] = entry.name;
|
|
58
52
|
}
|
|
59
|
-
return
|
|
60
|
-
}
|
|
53
|
+
return nameMap;
|
|
54
|
+
};
|
|
61
55
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Recursive function to build the localized structure
|
|
58
|
+
*/
|
|
59
|
+
const processLevel = (currentData, currentPath) => {
|
|
60
|
+
// Handle Arrays
|
|
61
|
+
if (Array.isArray(currentData)) {
|
|
62
|
+
return currentData.map(item => processLevel(item, [...currentPath, null]));
|
|
67
63
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
if (!disclosureForThisKey) {
|
|
73
|
-
continue;
|
|
64
|
+
|
|
65
|
+
// Handle Objects
|
|
66
|
+
if (typeof currentData !== "object" || currentData === null) {
|
|
67
|
+
return currentData;
|
|
74
68
|
}
|
|
75
|
-
const
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
path,
|
|
79
|
-
display
|
|
80
|
-
} = _ref4;
|
|
81
|
-
return createNestedProperty(acc, path, disclosureValue, display);
|
|
82
|
-
}, {});
|
|
69
|
+
const dataObj = currentData;
|
|
70
|
+
const result = {};
|
|
71
|
+
const processedKeys = new Set();
|
|
83
72
|
|
|
84
|
-
//
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
73
|
+
// Identify unique keys in config at this level
|
|
74
|
+
const configKeysAtThisLevel = [];
|
|
75
|
+
for (const claim of claimsMetadata) {
|
|
76
|
+
// Check if the claim path starts with the current path
|
|
77
|
+
if (isPrefixOf(currentPath, claim.path)) {
|
|
78
|
+
const nextPart = claim.path[currentPath.length];
|
|
79
|
+
if ((typeof nextPart === "string" || typeof nextPart === "number") && !configKeysAtThisLevel.includes(nextPart)) {
|
|
80
|
+
configKeysAtThisLevel.push(nextPart);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Process keys
|
|
86
|
+
for (const key of configKeysAtThisLevel) {
|
|
87
|
+
const stringKey = key.toString();
|
|
88
|
+
const dataValue = dataObj[stringKey];
|
|
89
|
+
if (dataValue === undefined) continue;
|
|
90
|
+
const newPath = [...currentPath, key];
|
|
91
|
+
let localizedNames = getDisplayNames(newPath);
|
|
92
|
+
|
|
93
|
+
// Fallback for arrays
|
|
94
|
+
if (!localizedNames && Array.isArray(dataValue)) {
|
|
95
|
+
localizedNames = getDisplayNames([...newPath, null]);
|
|
96
|
+
}
|
|
97
|
+
result[stringKey] = {
|
|
98
|
+
name: localizedNames || stringKey,
|
|
99
|
+
value: processLevel(dataValue, newPath)
|
|
100
|
+
};
|
|
101
|
+
processedKeys.add(key);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Handle Undefined Attributes
|
|
105
|
+
if (includeUndefinedAttributes) {
|
|
106
|
+
for (const [key, value] of Object.entries(dataObj)) {
|
|
107
|
+
if (!processedKeys.has(key)) {
|
|
108
|
+
result[key] = {
|
|
109
|
+
name: key,
|
|
110
|
+
value: value
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
116
|
+
};
|
|
117
|
+
return processLevel(parsedCredentialRaw, []);
|
|
103
118
|
};
|
|
104
|
-
const parseCredentialMDoc = function (credentialConfig,
|
|
119
|
+
const parseCredentialMDoc = function (credentialConfig, _ref) {
|
|
105
120
|
let {
|
|
106
121
|
issuerSigned
|
|
107
|
-
} =
|
|
122
|
+
} = _ref;
|
|
108
123
|
let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
109
124
|
let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
110
125
|
if (!credentialConfig) {
|
|
@@ -113,37 +128,37 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
|
|
113
128
|
if (!credentialConfig.claims) {
|
|
114
129
|
throw new IoWalletError("Missing claims in the credential subject");
|
|
115
130
|
}
|
|
116
|
-
const attrDefinitions = credentialConfig.claims.map(
|
|
131
|
+
const attrDefinitions = credentialConfig.claims.map(_ref2 => {
|
|
117
132
|
let {
|
|
118
133
|
path: [namespace, attribute],
|
|
119
134
|
display
|
|
120
|
-
} =
|
|
135
|
+
} = _ref2;
|
|
121
136
|
return [namespace, attribute, display];
|
|
122
137
|
});
|
|
123
138
|
if (!issuerSigned.nameSpaces) {
|
|
124
139
|
throw new IoWalletError("Missing claims in the credential");
|
|
125
140
|
}
|
|
126
|
-
const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(
|
|
127
|
-
let [namespace, values] =
|
|
141
|
+
const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref3 => {
|
|
142
|
+
let [namespace, values] = _ref3;
|
|
128
143
|
return values.map(v => [namespace, v.elementIdentifier, v.elementValue]);
|
|
129
144
|
});
|
|
130
145
|
|
|
131
146
|
// Check that all mandatory attributes defined in the issuer configuration are present in the disclosure set
|
|
132
147
|
// and filter the non present ones
|
|
133
|
-
const attrsNotInDisclosures = attrDefinitions.filter(
|
|
134
|
-
let [attrDefNamespace, attrKey] =
|
|
135
|
-
return !flatNamespaces.some(
|
|
136
|
-
let [namespace, claim] =
|
|
148
|
+
const attrsNotInDisclosures = attrDefinitions.filter(_ref4 => {
|
|
149
|
+
let [attrDefNamespace, attrKey] = _ref4;
|
|
150
|
+
return !flatNamespaces.some(_ref5 => {
|
|
151
|
+
let [namespace, claim] = _ref5;
|
|
137
152
|
return attrDefNamespace === namespace && attrKey === claim;
|
|
138
153
|
});
|
|
139
154
|
});
|
|
140
155
|
if (attrsNotInDisclosures.length > 0) {
|
|
141
|
-
const missing = attrsNotInDisclosures.map(
|
|
142
|
-
let [, attrKey] =
|
|
156
|
+
const missing = attrsNotInDisclosures.map(_ref6 => {
|
|
157
|
+
let [, attrKey] = _ref6;
|
|
143
158
|
return attrKey;
|
|
144
159
|
}).join(", ");
|
|
145
|
-
const received = flatNamespaces.map(
|
|
146
|
-
let [, attrKey] =
|
|
160
|
+
const received = flatNamespaces.map(_ref7 => {
|
|
161
|
+
let [, attrKey] = _ref7;
|
|
147
162
|
return attrKey;
|
|
148
163
|
}).join(", ");
|
|
149
164
|
if (!ignoreMissingAttributes) {
|
|
@@ -154,38 +169,38 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
|
|
154
169
|
// Attributes defined in the issuer configuration and present in the disclosure set
|
|
155
170
|
const definedValues = attrDefinitions
|
|
156
171
|
// Retrieve the value from the corresponding disclosure
|
|
157
|
-
.map(
|
|
172
|
+
.map(_ref8 => {
|
|
158
173
|
var _flatNamespaces$find;
|
|
159
|
-
let [attrDefNamespace, attrKey, display] =
|
|
174
|
+
let [attrDefNamespace, attrKey, display] = _ref8;
|
|
160
175
|
return [attrDefNamespace, attrKey, {
|
|
161
176
|
display,
|
|
162
|
-
value: (_flatNamespaces$find = flatNamespaces.find(
|
|
163
|
-
let [namespace, name] =
|
|
177
|
+
value: (_flatNamespaces$find = flatNamespaces.find(_ref9 => {
|
|
178
|
+
let [namespace, name] = _ref9;
|
|
164
179
|
return attrDefNamespace === namespace && name === attrKey;
|
|
165
180
|
})) === null || _flatNamespaces$find === void 0 ? void 0 : _flatNamespaces$find[2]
|
|
166
181
|
}];
|
|
167
182
|
})
|
|
168
183
|
//filter the not found elements
|
|
169
|
-
.filter(
|
|
170
|
-
let [_, __, definition] =
|
|
184
|
+
.filter(_ref10 => {
|
|
185
|
+
let [_, __, definition] = _ref10;
|
|
171
186
|
return definition.value !== undefined;
|
|
172
187
|
})
|
|
173
188
|
// Add a human-readable attribute name, with i18n, in the form { locale: name }
|
|
174
189
|
// Example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
|
|
175
|
-
.reduce((acc,
|
|
190
|
+
.reduce((acc, _ref11) => {
|
|
176
191
|
let [attrDefNamespace, attrKey, {
|
|
177
192
|
display,
|
|
178
193
|
value
|
|
179
|
-
}] =
|
|
194
|
+
}] = _ref11;
|
|
180
195
|
return {
|
|
181
196
|
...acc,
|
|
182
197
|
[getParsedCredentialClaimKey(attrDefNamespace, attrKey)]: {
|
|
183
198
|
value,
|
|
184
|
-
name: display.reduce((names,
|
|
199
|
+
name: display.reduce((names, _ref12) => {
|
|
185
200
|
let {
|
|
186
201
|
locale,
|
|
187
202
|
name
|
|
188
|
-
} =
|
|
203
|
+
} = _ref12;
|
|
189
204
|
return {
|
|
190
205
|
...names,
|
|
191
206
|
[locale]: name
|
|
@@ -195,11 +210,11 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
|
|
195
210
|
};
|
|
196
211
|
}, {});
|
|
197
212
|
if (includeUndefinedAttributes) {
|
|
198
|
-
const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(
|
|
199
|
-
let [namespace, key] =
|
|
213
|
+
const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(_ref13 => {
|
|
214
|
+
let [namespace, key] = _ref13;
|
|
200
215
|
return !definedValues[getParsedCredentialClaimKey(namespace, key)];
|
|
201
|
-
}).map(
|
|
202
|
-
let [namespace, key, value] =
|
|
216
|
+
}).map(_ref14 => {
|
|
217
|
+
let [namespace, key, value] = _ref14;
|
|
203
218
|
return [getParsedCredentialClaimKey(namespace, key), {
|
|
204
219
|
value,
|
|
205
220
|
name: key
|
|
@@ -228,6 +243,7 @@ const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
|
|
228
243
|
*
|
|
229
244
|
*/
|
|
230
245
|
async function verifyCredentialSdJwt(rawCredential, issuerKeys, holderBindingContext) {
|
|
246
|
+
// TODO: change verification using sd-jwt library with 1.3.x update
|
|
231
247
|
const [decodedCredential, holderBindingKey] =
|
|
232
248
|
// parallel for optimization
|
|
233
249
|
await Promise.all([verifySdJwt(rawCredential, issuerKeys, SdJwt4VC), holderBindingContext.getPublicKey()]);
|
|
@@ -239,8 +255,12 @@ async function verifyCredentialSdJwt(rawCredential, issuerKeys, holderBindingCon
|
|
|
239
255
|
Logger.log(LogLevel.ERROR, message);
|
|
240
256
|
throw new IoWalletError(message);
|
|
241
257
|
}
|
|
242
|
-
|
|
258
|
+
const sdJwtInstance = new SDJwtInstance({
|
|
259
|
+
hasher: digest
|
|
260
|
+
});
|
|
261
|
+
return await sdJwtInstance.decode(rawCredential);
|
|
243
262
|
}
|
|
263
|
+
|
|
244
264
|
/**
|
|
245
265
|
* Given a credential, verify it's in the supported format
|
|
246
266
|
* and the credential is correctly signed
|
|
@@ -269,12 +289,12 @@ async function verifyCredentialMDoc(rawCredential, x509CertRoot, holderBindingCo
|
|
|
269
289
|
}
|
|
270
290
|
return decodedCredential;
|
|
271
291
|
}
|
|
272
|
-
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId,
|
|
292
|
+
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId, _ref15) => {
|
|
273
293
|
let {
|
|
274
294
|
credentialCryptoContext,
|
|
275
295
|
ignoreMissingAttributes,
|
|
276
296
|
includeUndefinedAttributes
|
|
277
|
-
} =
|
|
297
|
+
} = _ref15;
|
|
278
298
|
const decoded = await verifyCredentialSdJwt(credential, issuerConf.openid_credential_issuer.jwks.keys, credentialCryptoContext);
|
|
279
299
|
Logger.log(LogLevel.DEBUG, `Decoded credential: ${JSON.stringify(decoded)}`);
|
|
280
300
|
const credentialConfig = issuerConf.openid_credential_issuer.credential_configurations_supported[credentialConfigurationId];
|
|
@@ -282,21 +302,26 @@ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialC
|
|
|
282
302
|
Logger.log(LogLevel.ERROR, `Credential type not supported by the issuer: ${credentialConfigurationId}`);
|
|
283
303
|
throw new IoWalletError("Credential type not supported by the issuer");
|
|
284
304
|
}
|
|
285
|
-
const
|
|
286
|
-
const
|
|
287
|
-
|
|
305
|
+
const parsedCredentialRaw = await decoded.getClaims(digest);
|
|
306
|
+
const parsedCredential = parseCredentialSdJwt(credentialConfig, parsedCredentialRaw, ignoreMissingAttributes, includeUndefinedAttributes);
|
|
307
|
+
const issuedAt = typeof parsedCredentialRaw.iat === "number" ? new Date(parsedCredentialRaw.iat * 1000) : undefined;
|
|
308
|
+
if (typeof parsedCredentialRaw.exp !== "number") {
|
|
309
|
+
throw new IoWalletError("Invalid or missing expiration claim (exp)");
|
|
310
|
+
}
|
|
311
|
+
const expiration = new Date(parsedCredentialRaw.exp * 1000);
|
|
312
|
+
Logger.log(LogLevel.DEBUG, `Parsed credential: ${JSON.stringify(parsedCredential)}\nIssued at: ${issuedAt}`);
|
|
288
313
|
return {
|
|
289
314
|
parsedCredential,
|
|
290
|
-
expiration
|
|
291
|
-
issuedAt
|
|
315
|
+
expiration,
|
|
316
|
+
issuedAt
|
|
292
317
|
};
|
|
293
318
|
};
|
|
294
|
-
const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId,
|
|
319
|
+
const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId, _ref16, x509CertRoot) => {
|
|
295
320
|
var _parsedCredential$get, _parsedCredential$get2;
|
|
296
321
|
let {
|
|
297
322
|
credentialCryptoContext,
|
|
298
323
|
ignoreMissingAttributes
|
|
299
|
-
} =
|
|
324
|
+
} = _ref16;
|
|
300
325
|
if (!x509CertRoot) {
|
|
301
326
|
throw new IoWalletError("Missing x509CertRoot");
|
|
302
327
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["IoWalletError","SdJwt4VC","verify","verifySdJwt","getValueFromDisclosures","isSameThumbprint","verifyMdoc","MDOC_DEFAULT_NAMESPACE","getParsedCredentialClaimKey","Logger","LogLevel","extractElementValueAsDate","createNestedProperty","parseCredentialSdJwt","credentialConfig","_ref","sdJwt","disclosures","ignoreMissingAttributes","arguments","length","undefined","includeUndefinedAttributes","format","header","typ","message","log","ERROR","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","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","names","_ref17","locale","_ref18","_ref19","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","getPublicKey","cnf","jwk","kid","verifyCredentialMDoc","x509CertRoot","issuerAuth","deviceKeyInfo","deviceKey","verifyAndParseCredentialSdJwt","issuerConf","credential","credentialConfigurationId","_ref20","credentialCryptoContext","decoded","openid_credential_issuer","jwks","DEBUG","JSON","stringify","credential_configurations_supported","parsedCredential","maybeIssuedAt","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","_ref21","_parsedCredential$get","_parsedCredential$get2","expirationDate","setDate","getDate","verifyAndParseCredential","context","_issuerConf$openid_cr"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["IoWalletError","SdJwt4VC","verify","verifySdJwt","isSameThumbprint","getParsedCredentialClaimKey","verifyMdoc","MDOC_DEFAULT_NAMESPACE","Logger","LogLevel","extractElementValueAsDate","SDJwtInstance","digest","isPathEqual","isPrefixOf","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","getDisplayNames","match","find","nameMap","entry","display","locale","name","processLevel","currentData","currentPath","Array","isArray","item","dataObj","result","processedKeys","configKeysAtThisLevel","claim","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","names","_ref12","undefinedValues","fromEntries","_ref13","_ref14","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","getPublicKey","cnf","sdJwt","payload","jwk","message","kid","log","ERROR","sdJwtInstance","hasher","decode","verifyCredentialMDoc","x509CertRoot","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","setDate","getDate","maybeIssuedAt","verifyAndParseCredential","context","_issuerConf$openid_cr","format"],"sourceRoot":"../../../../src","sources":["credential/issuance/07-verify-and-parse-credential.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { decode, disclose } from "../index";
|
|
3
|
-
import {
|
|
3
|
+
import { decodeBase64, encodeBase64 } from "@pagopa/io-react-native-jwt";
|
|
4
4
|
import { SdJwt4VC } from "../types";
|
|
5
5
|
import { pid } from "../__mocks__/sd-jwt";
|
|
6
6
|
const {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["z","decode","disclose","
|
|
1
|
+
{"version":3,"names":["z","decode","disclose","decodeBase64","encodeBase64","SdJwt4VC","pid","token","signed","tokenizedDisclosures","sdJwt","header","kid","typ","alg","payload","_sd","sub","_sd_alg","vct","iss","issuing_country","issuing_authority","cnf","jwk","kty","crv","x","y","exp","status","status_assertion","credential_hash_alg","disclosures","it","expect","JSON","parse","stringify","toEqual","join","toBe","describe","result","map","decoded","i","encoded","validDecoder","and","object","customField","string","invalidDecoder","error","expected","paths","claim","path","fn","rejects","any","Error"],"sourceRoot":"../../../../src","sources":["sd-jwt/__test__/index.test.ts"],"mappings":"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"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import { decode as decodeJwt } from "@pagopa/io-react-native-jwt";
|
|
2
|
-
import { verify as verifyJwt } from "@pagopa/io-react-native-jwt";
|
|
3
|
-
import { SignJWT, sha256ToBase64 } from "@pagopa/io-react-native-jwt";
|
|
1
|
+
import { decode as decodeJwt, sha256ToBase64, SignJWT, verify as verifyJwt } from "@pagopa/io-react-native-jwt";
|
|
4
2
|
import { Disclosure, SdJwt4VC } from "./types";
|
|
5
3
|
import { verifyDisclosure } from "./verifier";
|
|
6
4
|
import * as Errors from "./errors";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["decode","decodeJwt","
|
|
1
|
+
{"version":3,"names":["decode","decodeJwt","sha256ToBase64","SignJWT","verify","verifyJwt","Disclosure","SdJwt4VC","verifyDisclosure","Errors","Base64","decodeDisclosure","encoded","utf8String","decoded","parse","JSON","token","customSchema","slice","rawSdJwt","rawDisclosures","split","decodedJwt","parser","sdJwt","header","protectedHeader","payload","disclosures","map","disclose","claims","paths","Promise","all","claim","disclosure","find","_ref","name","ClaimsNotFoundBetweenDisclosures","hash","_sd","includes","index","indexOf","path","ClaimsNotFoundInToken","filteredDisclosures","filter","Boolean","d","disclosedToken","join","publicKey","prepareVpToken","nonce","client_id","_ref2","verifiableCredential","requestedClaims","cryptoContext","vp","sd_hash","kbJwt","setProtectedHeader","typ","alg","setPayload","setAudience","setIssuedAt","sign","vp_token"],"sourceRoot":"../../../src","sources":["sd-jwt/index.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper to determine if two paths are equal (Supports string | number | null)
|
|
3
|
+
*/
|
|
4
|
+
export const isPathEqual = (pathA, pathB) => pathA.length === pathB.length && pathA.every((v, i) => v === pathB[i]);
|
|
5
|
+
/**
|
|
6
|
+
* Helper to check if prefix is the start of fullPath
|
|
7
|
+
*/
|
|
8
|
+
export const isPrefixOf = (prefix, fullPath) => {
|
|
9
|
+
if (prefix.length >= fullPath.length) return false;
|
|
10
|
+
return prefix.every((v, i) => v === fullPath[i]);
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isPathEqual","pathA","pathB","length","every","v","i","isPrefixOf","prefix","fullPath"],"sourceRoot":"../../../src","sources":["utils/parser.ts"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,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;AACA,OAAO,MAAMC,UAAU,GAAGA,CACxBC,MAAkC,EAClCC,QAAoC,KACxB;EACZ,IAAID,MAAM,CAACL,MAAM,IAAIM,QAAQ,CAACN,MAAM,EAAE,OAAO,KAAK;EAClD,OAAOK,MAAM,CAACJ,KAAK,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,KAAKI,QAAQ,CAACH,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"07-verify-and-parse-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/07-verify-and-parse-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"07-verify-and-parse-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/07-verify-and-parse-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAW/D,KAAK,UAAU,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,CAAC;AAQzD,MAAM,MAAM,wBAAwB,GAAG,CACrC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,yBAAyB,EAAE,MAAM,EACjC,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,EACD,YAAY,CAAC,EAAE,MAAM,KAClB,OAAO,CAAC;IACX,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;CAC5B,CAAC,CAAC;AAGH,KAAK,gBAAgB,GAAG;IACtB,oBAAoB;IACpB,CAAC,KAAK,EAAE,MAAM,GAAG;QACf,IAAI,EACA,yBAAyB,CAAC,MAAM,CAC9B,MAAM,EACN,MAAM,CACP,GACD,4BAA4B,CAAC,MAAM,GACnC,SAAS,CAAC;QACd,KAAK,EAAE,OAAO,CAAC;KAChB,CAAC;CACH,CAAC;AA2cF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,wBAuCtC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { Disclosure,
|
|
2
|
+
import { Disclosure, type DisclosureWithEncoded, SdJwt4VC } from "./types";
|
|
3
3
|
import type { JWK } from "../utils/jwk";
|
|
4
4
|
import * as Errors from "./errors";
|
|
5
5
|
import { type Presentation } from "../credential/presentation/types";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sd-jwt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sd-jwt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,OAAO,EAAE,UAAU,EAAE,KAAK,qBAAqB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE3E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAErE,cAAc,SAAS,CAAC;AAQxB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WACV,MAAM;;iBAIA,qBAAqB,EAAE;CA0BrC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,UACZ,MAAM,UACL,MAAM,EAAE;WACE,MAAM;WAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE;EA2CnE,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WACV,MAAM,aACF,GAAG,GAAG,GAAG,EAAE;;iBAEqB,UAAU,EAAE;EAqBxD,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,UAClB,MAAM,aACF,MAAM;cAGP,MAAM;EAyBjB,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper to determine if two paths are equal (Supports string | number | null)
|
|
3
|
+
*/
|
|
4
|
+
export declare const isPathEqual: (pathA: (string | number | null)[], pathB: (string | number | null)[]) => boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Helper to check if prefix is the start of fullPath
|
|
7
|
+
*/
|
|
8
|
+
export declare const isPrefixOf: (prefix: (string | number | null)[], fullPath: (string | number | null)[]) => boolean;
|
|
9
|
+
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/utils/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,WAAW,UACf,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,SAC1B,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,KAChC,OACqE,CAAC;AACzE;;GAEG;AACH,eAAO,MAAM,UAAU,WACb,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,YACxB,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,KACnC,OAGF,CAAC"}
|