@pagopa/io-react-native-wallet 2.1.0 → 2.2.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 +82 -58
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/commonjs/index.js +3 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mdoc/index.js +15 -0
- package/lib/commonjs/mdoc/index.js.map +1 -1
- package/lib/commonjs/mdoc/utils.js +37 -1
- package/lib/commonjs/mdoc/utils.js.map +1 -1
- package/lib/commonjs/trust/build-chain.js +22 -19
- package/lib/commonjs/trust/build-chain.js.map +1 -1
- package/lib/commonjs/utils/nestedProperty.js +21 -10
- package/lib/commonjs/utils/nestedProperty.js.map +1 -1
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js +83 -59
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/mdoc/index.js +1 -0
- package/lib/module/mdoc/index.js.map +1 -1
- package/lib/module/mdoc/utils.js +35 -0
- package/lib/module/mdoc/utils.js.map +1 -1
- package/lib/module/trust/build-chain.js +22 -19
- package/lib/module/trust/build-chain.js.map +1 -1
- package/lib/module/utils/nestedProperty.js +21 -10
- package/lib/module/utils/nestedProperty.js.map +1 -1
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/mdoc/index.d.ts +1 -0
- package/lib/typescript/mdoc/index.d.ts.map +1 -1
- package/lib/typescript/mdoc/utils.d.ts +50 -0
- package/lib/typescript/mdoc/utils.d.ts.map +1 -1
- package/lib/typescript/trust/build-chain.d.ts +2 -3
- package/lib/typescript/trust/build-chain.d.ts.map +1 -1
- package/lib/typescript/utils/nestedProperty.d.ts +2 -1
- package/lib/typescript/utils/nestedProperty.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/credential/issuance/07-verify-and-parse-credential.ts +60 -26
- package/src/index.ts +2 -0
- package/src/mdoc/index.ts +1 -0
- package/src/mdoc/utils.ts +43 -0
- package/src/trust/build-chain.ts +28 -25
- package/src/utils/nestedProperty.ts +35 -10
@@ -37,39 +37,63 @@ const parseCredentialSdJwt = function (credentialConfig, _ref) {
|
|
37
37
|
|
38
38
|
const attrDefinitions = credentialConfig.claims;
|
39
39
|
|
40
|
-
// Validate that all attributes from the config exist in
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
const
|
47
|
-
const
|
48
|
-
const
|
49
|
-
|
50
|
-
|
40
|
+
// Validate that all attributes from the config exist in either disclosures OR payload
|
41
|
+
if (!ignoreMissingAttributes) {
|
42
|
+
const disclosedKeys = new Set(disclosures.map(_ref2 => {
|
43
|
+
let [, name] = _ref2;
|
44
|
+
return name;
|
45
|
+
}));
|
46
|
+
const payloadKeys = new Set(Object.keys(sdJwt.payload ?? {}));
|
47
|
+
const definedTopLevelKeys = new Set(attrDefinitions.map(def => def.path[0]));
|
48
|
+
const missingKeys = [...definedTopLevelKeys].filter(key => !disclosedKeys.has(key) && !payloadKeys.has(key));
|
49
|
+
if (missingKeys.length > 0) {
|
50
|
+
throw new _errors.IoWalletError(`Some attributes are missing in the credential. Missing: [${missingKeys.join(", ")}]`);
|
51
|
+
}
|
51
52
|
}
|
52
53
|
const definedValues = {};
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
54
|
+
|
55
|
+
// Group all schema definitions by their top-level key
|
56
|
+
const groupedDefinitions = attrDefinitions.reduce((acc, def) => {
|
57
|
+
const key = def.path[0];
|
58
|
+
const group = acc[key];
|
59
|
+
if (group) {
|
60
|
+
group.push(def);
|
61
|
+
} else {
|
62
|
+
acc[key] = [def];
|
63
|
+
}
|
64
|
+
return acc;
|
65
|
+
}, {});
|
66
|
+
|
67
|
+
// Loop through each group
|
68
|
+
for (const topLevelKey in groupedDefinitions) {
|
69
|
+
const definitionsForThisKey = groupedDefinitions[topLevelKey];
|
70
|
+
if (!definitionsForThisKey) {
|
71
|
+
continue;
|
72
|
+
}
|
73
|
+
const disclosureForThisKey = disclosures.find(_ref3 => {
|
60
74
|
let [, name] = _ref3;
|
61
|
-
return name ===
|
62
|
-
})
|
63
|
-
if (
|
64
|
-
|
65
|
-
Object.assign(definedValues, enriched);
|
75
|
+
return name === topLevelKey;
|
76
|
+
});
|
77
|
+
if (!disclosureForThisKey) {
|
78
|
+
continue;
|
66
79
|
}
|
80
|
+
const disclosureValue = disclosureForThisKey[2];
|
81
|
+
const tempObjectForGroup = definitionsForThisKey.reduce((acc, _ref4) => {
|
82
|
+
let {
|
83
|
+
path,
|
84
|
+
display
|
85
|
+
} = _ref4;
|
86
|
+
return (0, _nestedProperty.createNestedProperty)(acc, path, disclosureValue, display);
|
87
|
+
}, {});
|
88
|
+
|
89
|
+
// Merge the fully constructed object into the final result
|
90
|
+
Object.assign(definedValues, tempObjectForGroup);
|
67
91
|
}
|
68
92
|
if (includeUndefinedAttributes) {
|
69
93
|
// attributes that are in the disclosure set
|
70
94
|
// but are not defined in the issuer configuration
|
71
|
-
const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(
|
72
|
-
let [, key, value] =
|
95
|
+
const undefinedValues = Object.fromEntries(disclosures.filter(_ => !Object.keys(definedValues).includes(_[1])).map(_ref5 => {
|
96
|
+
let [, key, value] = _ref5;
|
73
97
|
return [key, {
|
74
98
|
value,
|
75
99
|
name: key
|
@@ -82,10 +106,10 @@ const parseCredentialSdJwt = function (credentialConfig, _ref) {
|
|
82
106
|
}
|
83
107
|
return definedValues;
|
84
108
|
};
|
85
|
-
const parseCredentialMDoc = function (credentialConfig,
|
109
|
+
const parseCredentialMDoc = function (credentialConfig, _ref6) {
|
86
110
|
let {
|
87
111
|
issuerSigned
|
88
|
-
} =
|
112
|
+
} = _ref6;
|
89
113
|
let ignoreMissingAttributes = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
90
114
|
let includeUndefinedAttributes = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
91
115
|
if (!credentialConfig) {
|
@@ -94,37 +118,37 @@ const parseCredentialMDoc = function (credentialConfig, _ref5) {
|
|
94
118
|
if (!credentialConfig.claims) {
|
95
119
|
throw new _errors.IoWalletError("Missing claims in the credential subject");
|
96
120
|
}
|
97
|
-
const attrDefinitions = credentialConfig.claims.map(
|
121
|
+
const attrDefinitions = credentialConfig.claims.map(_ref7 => {
|
98
122
|
let {
|
99
123
|
path: [namespace, attribute],
|
100
124
|
display
|
101
|
-
} =
|
125
|
+
} = _ref7;
|
102
126
|
return [namespace, attribute, display];
|
103
127
|
});
|
104
128
|
if (!issuerSigned.nameSpaces) {
|
105
129
|
throw new _errors.IoWalletError("Missing claims in the credential");
|
106
130
|
}
|
107
|
-
const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(
|
108
|
-
let [namespace, values] =
|
131
|
+
const flatNamespaces = Object.entries(issuerSigned.nameSpaces).flatMap(_ref8 => {
|
132
|
+
let [namespace, values] = _ref8;
|
109
133
|
return values.map(v => [namespace, v.elementIdentifier, v.elementValue]);
|
110
134
|
});
|
111
135
|
|
112
136
|
// Check that all mandatory attributes defined in the issuer configuration are present in the disclosure set
|
113
137
|
// and filter the non present ones
|
114
|
-
const attrsNotInDisclosures = attrDefinitions.filter(
|
115
|
-
let [attrDefNamespace, attrKey] =
|
116
|
-
return !flatNamespaces.some(
|
117
|
-
let [namespace, claim] =
|
138
|
+
const attrsNotInDisclosures = attrDefinitions.filter(_ref9 => {
|
139
|
+
let [attrDefNamespace, attrKey] = _ref9;
|
140
|
+
return !flatNamespaces.some(_ref10 => {
|
141
|
+
let [namespace, claim] = _ref10;
|
118
142
|
return attrDefNamespace === namespace && attrKey === claim;
|
119
143
|
});
|
120
144
|
});
|
121
145
|
if (attrsNotInDisclosures.length > 0) {
|
122
|
-
const missing = attrsNotInDisclosures.map(
|
123
|
-
let [, attrKey] =
|
146
|
+
const missing = attrsNotInDisclosures.map(_ref11 => {
|
147
|
+
let [, attrKey] = _ref11;
|
124
148
|
return attrKey;
|
125
149
|
}).join(", ");
|
126
|
-
const received = flatNamespaces.map(
|
127
|
-
let [, attrKey] =
|
150
|
+
const received = flatNamespaces.map(_ref12 => {
|
151
|
+
let [, attrKey] = _ref12;
|
128
152
|
return attrKey;
|
129
153
|
}).join(", ");
|
130
154
|
if (!ignoreMissingAttributes) {
|
@@ -135,38 +159,38 @@ const parseCredentialMDoc = function (credentialConfig, _ref5) {
|
|
135
159
|
// Attributes defined in the issuer configuration and present in the disclosure set
|
136
160
|
const definedValues = attrDefinitions
|
137
161
|
// Retrieve the value from the corresponding disclosure
|
138
|
-
.map(
|
162
|
+
.map(_ref13 => {
|
139
163
|
var _flatNamespaces$find;
|
140
|
-
let [attrDefNamespace, attrKey, display] =
|
164
|
+
let [attrDefNamespace, attrKey, display] = _ref13;
|
141
165
|
return [attrDefNamespace, attrKey, {
|
142
166
|
display,
|
143
|
-
value: (_flatNamespaces$find = flatNamespaces.find(
|
144
|
-
let [namespace, name] =
|
167
|
+
value: (_flatNamespaces$find = flatNamespaces.find(_ref14 => {
|
168
|
+
let [namespace, name] = _ref14;
|
145
169
|
return attrDefNamespace === namespace && name === attrKey;
|
146
170
|
})) === null || _flatNamespaces$find === void 0 ? void 0 : _flatNamespaces$find[2]
|
147
171
|
}];
|
148
172
|
})
|
149
173
|
//filter the not found elements
|
150
|
-
.filter(
|
151
|
-
let [_, __, definition] =
|
174
|
+
.filter(_ref15 => {
|
175
|
+
let [_, __, definition] = _ref15;
|
152
176
|
return definition.value !== undefined;
|
153
177
|
})
|
154
178
|
// Add a human-readable attribute name, with i18n, in the form { locale: name }
|
155
179
|
// Example: { "it-IT": "Nome", "en-EN": "Name", "es-ES": "Nombre" }
|
156
|
-
.reduce((acc,
|
180
|
+
.reduce((acc, _ref16) => {
|
157
181
|
let [attrDefNamespace, attrKey, {
|
158
182
|
display,
|
159
183
|
value
|
160
|
-
}] =
|
184
|
+
}] = _ref16;
|
161
185
|
return {
|
162
186
|
...acc,
|
163
187
|
[(0, _utils.getParsedCredentialClaimKey)(attrDefNamespace, attrKey)]: {
|
164
188
|
value,
|
165
|
-
name: display.reduce((names,
|
189
|
+
name: display.reduce((names, _ref17) => {
|
166
190
|
let {
|
167
191
|
locale,
|
168
192
|
name
|
169
|
-
} =
|
193
|
+
} = _ref17;
|
170
194
|
return {
|
171
195
|
...names,
|
172
196
|
[locale]: name
|
@@ -176,11 +200,11 @@ const parseCredentialMDoc = function (credentialConfig, _ref5) {
|
|
176
200
|
};
|
177
201
|
}, {});
|
178
202
|
if (includeUndefinedAttributes) {
|
179
|
-
const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(
|
180
|
-
let [namespace, key] =
|
203
|
+
const undefinedValues = Object.fromEntries(Object.values(flatNamespaces).filter(_ref18 => {
|
204
|
+
let [namespace, key] = _ref18;
|
181
205
|
return !definedValues[(0, _utils.getParsedCredentialClaimKey)(namespace, key)];
|
182
|
-
}).map(
|
183
|
-
let [namespace, key, value] =
|
206
|
+
}).map(_ref19 => {
|
207
|
+
let [namespace, key, value] = _ref19;
|
184
208
|
return [(0, _utils.getParsedCredentialClaimKey)(namespace, key), {
|
185
209
|
value,
|
186
210
|
name: key
|
@@ -228,7 +252,7 @@ async function verifyCredentialSdJwt(rawCredential, issuerKeys, holderBindingCon
|
|
228
252
|
* and it's bound to the given key
|
229
253
|
*
|
230
254
|
* @param rawCredential The received credential
|
231
|
-
* @param
|
255
|
+
* @param x509CertRoot The root certificate of the issuer,
|
232
256
|
* which will be used to verify the signature
|
233
257
|
* @param holderBindingContext The access to the holder's key
|
234
258
|
*
|
@@ -250,12 +274,12 @@ async function verifyCredentialMDoc(rawCredential, x509CertRoot, holderBindingCo
|
|
250
274
|
}
|
251
275
|
return decodedCredential;
|
252
276
|
}
|
253
|
-
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId,
|
277
|
+
const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialConfigurationId, _ref20) => {
|
254
278
|
let {
|
255
279
|
credentialCryptoContext,
|
256
280
|
ignoreMissingAttributes,
|
257
281
|
includeUndefinedAttributes
|
258
|
-
} =
|
282
|
+
} = _ref20;
|
259
283
|
const decoded = await verifyCredentialSdJwt(credential, issuerConf.openid_credential_issuer.jwks.keys, credentialCryptoContext);
|
260
284
|
_logging.Logger.log(_logging.LogLevel.DEBUG, `Decoded credential: ${JSON.stringify(decoded)}`);
|
261
285
|
const credentialConfig = issuerConf.openid_credential_issuer.credential_configurations_supported[credentialConfigurationId];
|
@@ -272,12 +296,12 @@ const verifyAndParseCredentialSdJwt = async (issuerConf, credential, credentialC
|
|
272
296
|
issuedAt: typeof maybeIssuedAt === "number" ? new Date(maybeIssuedAt * 1000) : undefined
|
273
297
|
};
|
274
298
|
};
|
275
|
-
const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId,
|
299
|
+
const verifyAndParseCredentialMDoc = async (issuerConf, credential, credentialConfigurationId, _ref21, x509CertRoot) => {
|
276
300
|
var _parsedCredential$get, _parsedCredential$get2;
|
277
301
|
let {
|
278
302
|
credentialCryptoContext,
|
279
303
|
ignoreMissingAttributes
|
280
|
-
} =
|
304
|
+
} = _ref21;
|
281
305
|
if (!x509CertRoot) {
|
282
306
|
throw new _errors.IoWalletError("Missing x509CertRoot");
|
283
307
|
}
|
@@ -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","attrsNotInDisclosures","filter","definition","some","_ref2","name","path","missing","map","_","join","received","definedValues","display","_disclosures$find","attrKey","disclosureValue","find","_ref3","enriched","createNestedProperty","Object","assign","undefinedValues","fromEntries","keys","includes","_ref4","key","value","parseCredentialMDoc","_ref5","issuerSigned","_ref6","namespace","attribute","nameSpaces","flatNamespaces","entries","flatMap","_ref7","values","v","elementIdentifier","elementValue","_ref8","attrDefNamespace","_ref9","claim","_ref10","_ref11","_ref12","_flatNamespaces$find","_ref13","_ref14","__","reduce","acc","_ref15","getParsedCredentialClaimKey","names","_ref16","locale","_ref17","_ref18","verifyCredentialSdJwt","rawCredential","issuerKeys","holderBindingContext","decodedCredential","holderBindingKey","Promise","all","verifySdJwt","SdJwt4VC","getPublicKey","cnf","payload","isSameThumbprint","jwk","kid","verifyCredentialMDoc","x509CertRoot","verifyMdoc","issuerAuth","deviceKeyInfo","deviceKey","verifyAndParseCredentialSdJwt","issuerConf","credential","credentialConfigurationId","_ref19","credentialCryptoContext","decoded","openid_credential_issuer","jwks","DEBUG","JSON","stringify","credential_configurations_supported","parsedCredential","maybeIssuedAt","getValueFromDisclosures","expiration","Date","exp","issuedAt","verifyAndParseCredentialMDoc","_ref20","_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","_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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"}
|
package/lib/commonjs/index.js
CHANGED
@@ -15,7 +15,7 @@ Object.defineProperty(exports, "AuthorizationDetails", {
|
|
15
15
|
return _par.AuthorizationDetails;
|
16
16
|
}
|
17
17
|
});
|
18
|
-
exports.WalletInstanceAttestation = exports.WalletInstance = exports.Trust = exports.SdJwt = exports.PID = exports.Logging = exports.Errors = exports.Credential = void 0;
|
18
|
+
exports.WalletInstanceAttestation = exports.WalletInstance = exports.Trust = exports.SdJwt = exports.PID = exports.Mdoc = exports.Logging = exports.Errors = exports.Credential = void 0;
|
19
19
|
Object.defineProperty(exports, "createCryptoContextFor", {
|
20
20
|
enumerable: true,
|
21
21
|
get: function () {
|
@@ -36,6 +36,8 @@ var PID = _interopRequireWildcard(require("./pid"));
|
|
36
36
|
exports.PID = PID;
|
37
37
|
var SdJwt = _interopRequireWildcard(require("./sd-jwt"));
|
38
38
|
exports.SdJwt = SdJwt;
|
39
|
+
var Mdoc = _interopRequireWildcard(require("./mdoc"));
|
40
|
+
exports.Mdoc = Mdoc;
|
39
41
|
var Errors = _interopRequireWildcard(require("./utils/errors"));
|
40
42
|
exports.Errors = Errors;
|
41
43
|
var WalletInstanceAttestation = _interopRequireWildcard(require("./wallet-instance-attestation"));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_jwk","require","Credential","_interopRequireWildcard","exports","PID","SdJwt","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","_par","_crypto","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGAA,OAAA;AAEA,IAAAC,UAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAC3C,IAAAG,GAAA,GAAAF,uBAAA,CAAAF,OAAA;AAA6BG,OAAA,CAAAC,GAAA,GAAAA,GAAA;AAC7B,IAAAC,KAAA,GAAAH,uBAAA,CAAAF,OAAA;AAAkCG,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAClC,IAAAC,
|
1
|
+
{"version":3,"names":["_jwk","require","Credential","_interopRequireWildcard","exports","PID","SdJwt","Mdoc","Errors","WalletInstanceAttestation","Trust","WalletInstance","Logging","_par","_crypto","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AAGAA,OAAA;AAEA,IAAAC,UAAA,GAAAC,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAF,UAAA,GAAAA,UAAA;AAC3C,IAAAG,GAAA,GAAAF,uBAAA,CAAAF,OAAA;AAA6BG,OAAA,CAAAC,GAAA,GAAAA,GAAA;AAC7B,IAAAC,KAAA,GAAAH,uBAAA,CAAAF,OAAA;AAAkCG,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAClC,IAAAC,IAAA,GAAAJ,uBAAA,CAAAF,OAAA;AAA+BG,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAC/B,IAAAC,MAAA,GAAAL,uBAAA,CAAAF,OAAA;AAAyCG,OAAA,CAAAI,MAAA,GAAAA,MAAA;AACzC,IAAAC,yBAAA,GAAAN,uBAAA,CAAAF,OAAA;AAA2EG,OAAA,CAAAK,yBAAA,GAAAA,yBAAA;AAC3E,IAAAC,KAAA,GAAAP,uBAAA,CAAAF,OAAA;AAAiCG,OAAA,CAAAM,KAAA,GAAAA,KAAA;AACjC,IAAAC,cAAA,GAAAR,uBAAA,CAAAF,OAAA;AAAoDG,OAAA,CAAAO,cAAA,GAAAA,cAAA;AACpD,IAAAC,OAAA,GAAAT,uBAAA,CAAAF,OAAA;AAA2CG,OAAA,CAAAQ,OAAA,GAAAA,OAAA;AAC3C,IAAAC,IAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AAAwD,SAAAc,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAb,wBAAAiB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
|
@@ -3,6 +3,9 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
+
var _exportNames = {
|
7
|
+
verify: true
|
8
|
+
};
|
6
9
|
exports.verify = void 0;
|
7
10
|
var _ioReactNativeIso = require("@pagopa/io-react-native-iso18013");
|
8
11
|
var _jsrsasign = require("jsrsasign");
|
@@ -10,6 +13,18 @@ var _ioReactNativeCrypto = require("@pagopa/io-react-native-crypto");
|
|
10
13
|
var _errors = require("../trust/errors");
|
11
14
|
var _errors2 = require("../utils/errors");
|
12
15
|
var _crypto = require("../utils/crypto");
|
16
|
+
var _utils = require("./utils");
|
17
|
+
Object.keys(_utils).forEach(function (key) {
|
18
|
+
if (key === "default" || key === "__esModule") return;
|
19
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
20
|
+
if (key in exports && exports[key] === _utils[key]) return;
|
21
|
+
Object.defineProperty(exports, key, {
|
22
|
+
enumerable: true,
|
23
|
+
get: function () {
|
24
|
+
return _utils[key];
|
25
|
+
}
|
26
|
+
});
|
27
|
+
});
|
13
28
|
const verify = async (token, x509CertRoot) => {
|
14
29
|
var _issuerSigned$issuerA;
|
15
30
|
// get decoded data
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_ioReactNativeIso","require","_jsrsasign","_ioReactNativeCrypto","_errors","_errors2","_crypto","verify","token","x509CertRoot","_issuerSigned$issuerA","issuerSigned","CBOR","decodeIssuerSigned","IoWalletError","issuerAuth","unprotectedHeader","x5chain","Array","isArray","length","MissingX509CertsError","map","b64utob64","verifyX5chain","coseSign1","rawValue","verifyMdocSignature","
|
1
|
+
{"version":3,"names":["_ioReactNativeIso","require","_jsrsasign","_ioReactNativeCrypto","_errors","_errors2","_crypto","_utils","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","verify","token","x509CertRoot","_issuerSigned$issuerA","issuerSigned","CBOR","decodeIssuerSigned","IoWalletError","issuerAuth","unprotectedHeader","x5chain","Array","isArray","length","MissingX509CertsError","map","b64utob64","verifyX5chain","coseSign1","rawValue","verifyMdocSignature","options","arguments","undefined","connectTimeout","readTimeout","requireCrl","x509ValidationResult","verifyCertificateChain","isValid","X509ValidationError","validationStatus","errorMessage","x509ValidationStatus","x509ErrorMessage","cert","pemcert","convertBase64DerToPem","jwk","getSigninJwkFromCert","x","y","signatureCorrect","COSE","Error"],"sourceRoot":"../../../src","sources":["mdoc/index.ts"],"mappings":"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"}
|
@@ -3,12 +3,48 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.getParsedCredentialClaimKey = void 0;
|
6
|
+
exports.getVerificationFromParsedCredential = exports.getVerification = exports.getParsedCredentialClaimKey = void 0;
|
7
|
+
var _ioReactNativeIso = require("@pagopa/io-react-native-iso18013");
|
8
|
+
var _types = require("../sd-jwt/types");
|
9
|
+
var _const = require("./const");
|
7
10
|
/**
|
8
11
|
* @param namespace The mdoc credential `namespace`
|
9
12
|
* @param key The claim attribute key
|
10
13
|
* @returns A string consisting of the concatenation of the namespace and the claim key, separated by a colon
|
11
14
|
*/
|
12
15
|
const getParsedCredentialClaimKey = (namespace, key) => `${namespace}:${key}`;
|
16
|
+
|
17
|
+
/**
|
18
|
+
* Extract and validate the `verification` claim from an mdoc parsed credential.
|
19
|
+
*
|
20
|
+
* This method is **synchronous**, so it requires a credential that was already parsed.
|
21
|
+
*
|
22
|
+
* @param parsedCredential The parsed mdoc credential
|
23
|
+
* @returns The verification claim or undefined if it wasn't found
|
24
|
+
*/
|
13
25
|
exports.getParsedCredentialClaimKey = getParsedCredentialClaimKey;
|
26
|
+
const getVerificationFromParsedCredential = parsedCredential => {
|
27
|
+
var _parsedCredential$ver;
|
28
|
+
const verificationKey = getParsedCredentialClaimKey(`${_const.MDOC_DEFAULT_NAMESPACE}.IT`, "verification");
|
29
|
+
const verification = (_parsedCredential$ver = parsedCredential[verificationKey]) === null || _parsedCredential$ver === void 0 ? void 0 : _parsedCredential$ver.value;
|
30
|
+
return verification ? _types.Verification.parse(verification) : undefined;
|
31
|
+
};
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Extract and validate the `verification` claim from an MDOC credential.
|
35
|
+
*
|
36
|
+
* This method is **asynchronous**. See {@link getVerificationFromParsedCredential} for the synchronous version.
|
37
|
+
*
|
38
|
+
* @param token The raw MDOC credential
|
39
|
+
* @returns The verification claim or undefined if it wasn't found
|
40
|
+
*/
|
41
|
+
exports.getVerificationFromParsedCredential = getVerificationFromParsedCredential;
|
42
|
+
const getVerification = async token => {
|
43
|
+
var _namespace$find;
|
44
|
+
const issuerSigned = await _ioReactNativeIso.CBOR.decodeIssuerSigned(token);
|
45
|
+
const namespace = issuerSigned.nameSpaces[`${_const.MDOC_DEFAULT_NAMESPACE}.IT`];
|
46
|
+
const verification = namespace === null || namespace === void 0 || (_namespace$find = namespace.find(x => x.elementIdentifier === "verification")) === null || _namespace$find === void 0 ? void 0 : _namespace$find.elementValue;
|
47
|
+
return verification ? _types.Verification.parse(verification) : undefined;
|
48
|
+
};
|
49
|
+
exports.getVerification = getVerification;
|
14
50
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["getParsedCredentialClaimKey","namespace","key","exports"],"sourceRoot":"../../../src","sources":["mdoc/utils.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,
|
1
|
+
{"version":3,"names":["_ioReactNativeIso","require","_types","_const","getParsedCredentialClaimKey","namespace","key","exports","getVerificationFromParsedCredential","parsedCredential","_parsedCredential$ver","verificationKey","MDOC_DEFAULT_NAMESPACE","verification","value","Verification","parse","undefined","getVerification","token","_namespace$find","issuerSigned","CBOR","decodeIssuerSigned","nameSpaces","find","x","elementIdentifier","elementValue"],"sourceRoot":"../../../src","sources":["mdoc/utils.ts"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAGA,IAAAE,MAAA,GAAAF,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAMG,2BAA2B,GAAGA,CAACC,SAAiB,EAAEC,GAAW,KACvE,GAAED,SAAU,IAAGC,GAAI,EAAC;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAC,OAAA,CAAAH,2BAAA,GAAAA,2BAAA;AAQO,MAAMI,mCAAmC,GAC9CC,gBAAmE,IAChE;EAAA,IAAAC,qBAAA;EACH,MAAMC,eAAe,GAAGP,2BAA2B,CAChD,GAAEQ,6BAAuB,KAAI,EAC9B,cACF,CAAC;EACD,MAAMC,YAAY,IAAAH,qBAAA,GAAGD,gBAAgB,CAACE,eAAe,CAAC,cAAAD,qBAAA,uBAAjCA,qBAAA,CAAmCI,KAAK;EAC7D,OAAOD,YAAY,GAAGE,mBAAY,CAACC,KAAK,CAACH,YAAY,CAAC,GAAGI,SAAS;AACpE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPAV,OAAA,CAAAC,mCAAA,GAAAA,mCAAA;AAQO,MAAMU,eAAe,GAAG,MAAOC,KAAa,IAAK;EAAA,IAAAC,eAAA;EACtD,MAAMC,YAAY,GAAG,MAAMC,sBAAI,CAACC,kBAAkB,CAACJ,KAAK,CAAC;EACzD,MAAMd,SAAS,GAAGgB,YAAY,CAACG,UAAU,CAAE,GAAEZ,6BAAuB,KAAI,CAAC;EACzE,MAAMC,YAAY,GAAGR,SAAS,aAATA,SAAS,gBAAAe,eAAA,GAATf,SAAS,CAAEoB,IAAI,CACjCC,CAAC,IAAKA,CAAC,CAACC,iBAAiB,KAAK,cACjC,CAAC,cAAAP,eAAA,uBAFoBA,eAAA,CAElBQ,YAAY;EAEf,OAAOf,YAAY,GAAGE,mBAAY,CAACC,KAAK,CAACH,YAAY,CAAC,GAAGI,SAAS;AACpE,CAAC;AAACV,OAAA,CAAAW,eAAA,GAAAA,eAAA"}
|
@@ -150,30 +150,20 @@ async function getFederationList(federationListEndpoint) {
|
|
150
150
|
* Build a not-verified trust chain for a given Relying Party (RP) entity.
|
151
151
|
*
|
152
152
|
* @param relyingPartyEntityBaseUrl The base URL of the RP entity
|
153
|
-
* @param
|
153
|
+
* @param trustAnchorConfig The entity configuration of the known trust anchor.
|
154
154
|
* @param appFetch An optional instance of the http client to be used.
|
155
155
|
* @returns A list of signed tokens that represent the trust chain, in the order of the chain (from the RP to the Trust Anchor)
|
156
156
|
* @throws {FederationError} When an element of the chain fails to parse or other build steps fail.
|
157
157
|
*/
|
158
|
-
async function buildTrustChain(relyingPartyEntityBaseUrl,
|
158
|
+
async function buildTrustChain(relyingPartyEntityBaseUrl, trustAnchorConfig) {
|
159
159
|
let appFetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : fetch;
|
160
|
-
// 1:
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
throw new _errors.BuildTrustChainError("Cannot verify trust anchor: missing entity configuration in gathered chain.", {
|
167
|
-
relyingPartyUrl: relyingPartyEntityBaseUrl
|
168
|
-
});
|
169
|
-
}
|
170
|
-
if (!trustAnchorKey.kid) {
|
171
|
-
throw new _errors.TrustAnchorKidMissingError();
|
160
|
+
// 1: Verify if the RP is authorized by the Trust Anchor's federation list
|
161
|
+
// Extract the Trust Anchor's signing key and federation_list_endpoint
|
162
|
+
// (we assume the TA has only one key, as per spec)
|
163
|
+
const trustAnchorKey = trustAnchorConfig.payload.jwks.keys[0];
|
164
|
+
if (!trustAnchorKey) {
|
165
|
+
throw new _errors.BuildTrustChainError("Cannot verify trust anchor: missing signing key in entity configuration.");
|
172
166
|
}
|
173
|
-
await (0, _utils.verify)(trustAnchorJwt, trustAnchorKey.kid, [trustAnchorKey]);
|
174
|
-
|
175
|
-
// 3: Check the federation list
|
176
|
-
const trustAnchorConfig = _types.EntityConfiguration.parse((0, _utils.decode)(trustAnchorJwt));
|
177
167
|
const federationListEndpoint = trustAnchorConfig.payload.metadata.federation_entity.federation_list_endpoint;
|
178
168
|
if (federationListEndpoint) {
|
179
169
|
const federationList = await getFederationList(federationListEndpoint, {
|
@@ -186,6 +176,20 @@ async function buildTrustChain(relyingPartyEntityBaseUrl, trustAnchorKey) {
|
|
186
176
|
});
|
187
177
|
}
|
188
178
|
}
|
179
|
+
|
180
|
+
// 1: Recursively gather the trust chain from the RP up to the Trust Anchor
|
181
|
+
const trustChain = await gatherTrustChain(relyingPartyEntityBaseUrl, appFetch);
|
182
|
+
// 2: Trust Anchor signature verification
|
183
|
+
const chainTrustAnchorJwt = trustChain[trustChain.length - 1];
|
184
|
+
if (!chainTrustAnchorJwt) {
|
185
|
+
throw new _errors.BuildTrustChainError("Cannot verify trust anchor: missing entity configuration in gathered chain.", {
|
186
|
+
relyingPartyUrl: relyingPartyEntityBaseUrl
|
187
|
+
});
|
188
|
+
}
|
189
|
+
if (!trustAnchorKey.kid) {
|
190
|
+
throw new _errors.TrustAnchorKidMissingError();
|
191
|
+
}
|
192
|
+
await (0, _utils.verify)(chainTrustAnchorJwt, trustAnchorKey.kid, [trustAnchorKey]);
|
189
193
|
return trustChain;
|
190
194
|
}
|
191
195
|
|
@@ -227,7 +231,6 @@ async function gatherTrustChain(entityBaseUrl, appFetch) {
|
|
227
231
|
appFetch
|
228
232
|
});
|
229
233
|
const parentEC = _types.EntityConfiguration.parse((0, _utils.decode)(parentECJwt));
|
230
|
-
|
231
234
|
// Fetch ES
|
232
235
|
const federationFetchEndpoint = parentEC.payload.metadata.federation_entity.federation_fetch_endpoint;
|
233
236
|
if (!federationFetchEndpoint) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_errors","require","_utils","_types","_misc","_ioReactNativeJwt","fetchAndParseEntityConfiguration","entityBaseUrl","schema","appFetch","fetch","arguments","length","undefined","responseText","getSignedEntityConfiguration","responseJwt","decodeJwt","parse","header","protectedHeader","payload","getWalletProviderEntityConfiguration","options","WalletProviderEntityConfiguration","exports","getCredentialIssuerEntityConfiguration","CredentialIssuerEntityConfiguration","getTrustAnchorEntityConfiguration","TrustAnchorEntityConfiguration","getRelyingPartyEntityConfiguration","RelyingPartyEntityConfiguration","getEntityConfiguration","EntityConfiguration","getEntityStatement","accreditationBodyBaseUrl","subordinatedEntityBaseUrl","getSignedEntityStatement","EntityStatement","wellKnownUrl","method","then","hasStatusOrThrow","res","text","federationFetchEndpoint","url","URL","searchParams","set","toString","getFederationList","federationListEndpoint","json","result","FederationListResponse","safeParse","success","FederationListParseError","error","message","parseError","data","buildTrustChain","relyingPartyEntityBaseUrl","
|
1
|
+
{"version":3,"names":["_errors","require","_utils","_types","_misc","_ioReactNativeJwt","fetchAndParseEntityConfiguration","entityBaseUrl","schema","appFetch","fetch","arguments","length","undefined","responseText","getSignedEntityConfiguration","responseJwt","decodeJwt","parse","header","protectedHeader","payload","getWalletProviderEntityConfiguration","options","WalletProviderEntityConfiguration","exports","getCredentialIssuerEntityConfiguration","CredentialIssuerEntityConfiguration","getTrustAnchorEntityConfiguration","TrustAnchorEntityConfiguration","getRelyingPartyEntityConfiguration","RelyingPartyEntityConfiguration","getEntityConfiguration","EntityConfiguration","getEntityStatement","accreditationBodyBaseUrl","subordinatedEntityBaseUrl","getSignedEntityStatement","EntityStatement","wellKnownUrl","method","then","hasStatusOrThrow","res","text","federationFetchEndpoint","url","URL","searchParams","set","toString","getFederationList","federationListEndpoint","json","result","FederationListResponse","safeParse","success","FederationListParseError","error","message","parseError","data","buildTrustChain","relyingPartyEntityBaseUrl","trustAnchorConfig","trustAnchorKey","jwks","keys","BuildTrustChainError","metadata","federation_entity","federation_list_endpoint","federationList","includes","RelyingPartyNotAuthorizedError","relyingPartyUrl","trustChain","gatherTrustChain","chainTrustAnchorJwt","kid","TrustAnchorKidMissingError","verify","isLeaf","chain","entityECJwt","entityEC","decode","push","authorityHints","authority_hints","parentEntityBaseUrl","parentECJwt","parentEC","federation_fetch_endpoint","MissingFederationFetchEndpointError","missingInEntityUrl","entityStatementJwt","parentChain","concat"],"sourceRoot":"../../../src","sources":["trust/build-chain.ts"],"mappings":"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"}
|