@sphereon/ssi-sdk.sd-jwt 0.33.0 → 0.33.1-feature.vcdm2.4

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.
@@ -1,73 +1,60 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.SDJwtPlugin = void 0;
16
- const core_1 = require("@sd-jwt/core");
17
- const sd_jwt_vc_1 = require("@sd-jwt/sd-jwt-vc");
18
- const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
19
- const utils_1 = require("@veramo/utils");
20
- const debug_1 = __importDefault(require("debug"));
21
- const defaultCallbacks_1 = require("./defaultCallbacks");
22
- const trustAnchors_1 = require("./trustAnchors");
23
- const utils_2 = require("./utils");
24
- const debug = (0, debug_1.default)('@sphereon/ssi-sdk.sd-jwt');
1
+ import { SDJwt } from '@sd-jwt/core';
2
+ import { SDJwtVcInstance } from '@sd-jwt/sd-jwt-vc';
3
+ import { calculateJwkThumbprint, signatureAlgorithmFromKey } from '@sphereon/ssi-sdk-ext.key-utils';
4
+ import { decodeBase64url } from '@veramo/utils';
5
+ import Debug from 'debug';
6
+ import { defaultGenerateDigest, defaultGenerateSalt, defaultVerifySignature } from './defaultCallbacks';
7
+ import { funkeTestCA, sphereonCA } from './trustAnchors';
8
+ import { assertValidTypeMetadata, fetchUrlWithErrorHandling, validateIntegrity } from './utils';
9
+ const debug = Debug('@sphereon/ssi-sdk.sd-jwt');
25
10
  /**
26
11
  * @beta
27
12
  * SD-JWT plugin
28
13
  */
29
- class SDJwtPlugin {
14
+ export class SDJwtPlugin {
15
+ // @ts-ignore
16
+ trustAnchorsInPEM;
17
+ registeredImplementations;
18
+ _signers;
19
+ _defaultSigner;
30
20
  constructor(registeredImplementations, trustAnchorsInPEM) {
31
- var _a;
32
- // map the methods your plugin is declaring to their implementation
33
- this.methods = {
34
- createSdJwtVc: this.createSdJwtVc.bind(this),
35
- createSdJwtPresentation: this.createSdJwtPresentation.bind(this),
36
- verifySdJwtVc: this.verifySdJwtVc.bind(this),
37
- verifySdJwtPresentation: this.verifySdJwtPresentation.bind(this),
38
- fetchSdJwtTypeMetadataFromVctUrl: this.fetchSdJwtTypeMetadataFromVctUrl.bind(this),
39
- };
40
- this.trustAnchorsInPEM = trustAnchorsInPEM !== null && trustAnchorsInPEM !== void 0 ? trustAnchorsInPEM : [];
21
+ this.trustAnchorsInPEM = trustAnchorsInPEM ?? [];
41
22
  if (!registeredImplementations) {
42
23
  registeredImplementations = {};
43
24
  }
44
- if (typeof (registeredImplementations === null || registeredImplementations === void 0 ? void 0 : registeredImplementations.hasher) !== 'function') {
45
- registeredImplementations.hasher = defaultCallbacks_1.defaultGenerateDigest;
25
+ if (typeof registeredImplementations?.hasher !== 'function') {
26
+ registeredImplementations.hasher = defaultGenerateDigest;
46
27
  }
47
- if (typeof (registeredImplementations === null || registeredImplementations === void 0 ? void 0 : registeredImplementations.saltGenerator) !== 'function') {
48
- registeredImplementations.saltGenerator = defaultCallbacks_1.defaultGenerateSalt;
28
+ if (typeof registeredImplementations?.saltGenerator !== 'function') {
29
+ registeredImplementations.saltGenerator = defaultGenerateSalt;
49
30
  }
50
31
  this.registeredImplementations = registeredImplementations;
51
- this._signers = (_a = registeredImplementations === null || registeredImplementations === void 0 ? void 0 : registeredImplementations.signers) !== null && _a !== void 0 ? _a : {};
52
- this._defaultSigner = registeredImplementations === null || registeredImplementations === void 0 ? void 0 : registeredImplementations.defaultSigner;
32
+ this._signers = registeredImplementations?.signers ?? {};
33
+ this._defaultSigner = registeredImplementations?.defaultSigner;
53
34
  // Verify signature default is used below in the methods if not provided here, as it needs the context of the agent
54
35
  }
55
- getSignerForIdentifier(args, context) {
56
- return __awaiter(this, void 0, void 0, function* () {
57
- const { identifier, resolution } = args;
58
- if (Object.keys(this._signers).includes(identifier) && typeof this._signers[identifier] === 'function') {
59
- return { signer: this._signers[identifier] };
60
- }
61
- else if (typeof this._defaultSigner === 'function') {
62
- return { signer: this._defaultSigner };
63
- }
64
- const signingKey = yield this.getSignKey({ identifier, vmRelationship: 'assertionMethod', resolution }, context);
65
- const { key, alg } = signingKey;
66
- const signer = (data) => __awaiter(this, void 0, void 0, function* () {
67
- return context.agent.keyManagerSign({ keyRef: key.kmsKeyRef, data });
68
- });
69
- return { signer, alg, signingKey };
70
- });
36
+ // map the methods your plugin is declaring to their implementation
37
+ methods = {
38
+ createSdJwtVc: this.createSdJwtVc.bind(this),
39
+ createSdJwtPresentation: this.createSdJwtPresentation.bind(this),
40
+ verifySdJwtVc: this.verifySdJwtVc.bind(this),
41
+ verifySdJwtPresentation: this.verifySdJwtPresentation.bind(this),
42
+ fetchSdJwtTypeMetadataFromVctUrl: this.fetchSdJwtTypeMetadataFromVctUrl.bind(this),
43
+ };
44
+ async getSignerForIdentifier(args, context) {
45
+ const { identifier, resolution } = args;
46
+ if (Object.keys(this._signers).includes(identifier) && typeof this._signers[identifier] === 'function') {
47
+ return { signer: this._signers[identifier] };
48
+ }
49
+ else if (typeof this._defaultSigner === 'function') {
50
+ return { signer: this._defaultSigner };
51
+ }
52
+ const signingKey = await this.getSignKey({ identifier, vmRelationship: 'assertionMethod', resolution }, context);
53
+ const { key, alg } = signingKey;
54
+ const signer = async (data) => {
55
+ return context.agent.keyManagerSign({ keyRef: key.kmsKeyRef, data });
56
+ };
57
+ return { signer, alg, signingKey };
71
58
  }
72
59
  /**
73
60
  * Create a signed SD-JWT credential.
@@ -75,25 +62,26 @@ class SDJwtPlugin {
75
62
  * @param context - This reserved param is automatically added and handled by the framework, *do not override*
76
63
  * @returns A signed SD-JWT credential.
77
64
  */
78
- createSdJwtVc(args, context) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- const issuer = args.credentialPayload.iss;
81
- if (!issuer) {
82
- throw new Error('credential.issuer must not be empty');
83
- }
84
- const { alg, signer, signingKey } = yield this.getSignerForIdentifier({ identifier: issuer, resolution: args.resolution }, context);
85
- const sdjwt = new sd_jwt_vc_1.SDJwtVcInstance({
86
- signer,
87
- hasher: this.registeredImplementations.hasher,
88
- saltGenerator: this.registeredImplementations.saltGenerator,
89
- signAlg: alg !== null && alg !== void 0 ? alg : 'ES256',
90
- hashAlg: 'sha-256',
91
- });
92
- const credential = yield sdjwt.issue(args.credentialPayload, args.disclosureFrame, {
93
- header: Object.assign(Object.assign({}, ((signingKey === null || signingKey === void 0 ? void 0 : signingKey.key.kid) !== undefined && { kid: signingKey.key.kid })), ((signingKey === null || signingKey === void 0 ? void 0 : signingKey.key.x5c) !== undefined && { x5c: signingKey.key.x5c })),
94
- });
95
- return { credential };
65
+ async createSdJwtVc(args, context) {
66
+ const issuer = args.credentialPayload.iss;
67
+ if (!issuer) {
68
+ throw new Error('credential.issuer must not be empty');
69
+ }
70
+ const { alg, signer, signingKey } = await this.getSignerForIdentifier({ identifier: issuer, resolution: args.resolution }, context);
71
+ const sdjwt = new SDJwtVcInstance({
72
+ signer,
73
+ hasher: this.registeredImplementations.hasher,
74
+ saltGenerator: this.registeredImplementations.saltGenerator,
75
+ signAlg: alg ?? 'ES256',
76
+ hashAlg: 'sha-256',
96
77
  });
78
+ const credential = await sdjwt.issue(args.credentialPayload, args.disclosureFrame, {
79
+ header: {
80
+ ...(signingKey?.key.kid !== undefined && { kid: signingKey.key.kid }),
81
+ ...(signingKey?.key.x5c !== undefined && { x5c: signingKey.key.x5c }),
82
+ },
83
+ });
84
+ return { credential };
97
85
  }
98
86
  /**
99
87
  * Get the key to sign the SD-JWT
@@ -101,58 +89,55 @@ class SDJwtPlugin {
101
89
  * @param context - agent instance
102
90
  * @returns the key to sign the SD-JWT
103
91
  */
104
- getSignKey(args, context) {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- var _a, _b, _c, _d;
107
- // TODO Using identifierManagedGetByDid now (new managed identifier resolution). Evaluate of we need to implement more identifier types here
108
- const { identifier, resolution } = Object.assign({}, args);
109
- if (resolution) {
110
- const key = resolution.key;
111
- const alg = yield (0, ssi_sdk_ext_key_utils_1.signatureAlgorithmFromKey)({ key });
112
- switch (resolution.method) {
113
- case 'did':
114
- debug(`Signing key ${key.publicKeyHex} found for identifier ${identifier}`);
115
- return { alg, key: Object.assign(Object.assign({}, key), { kmsKeyRef: resolution.kmsKeyRef, kid: resolution.kid }) };
116
- default:
117
- if (((_a = key.meta) === null || _a === void 0 ? void 0 : _a.x509) && key.meta.x509.x5c) {
118
- return { alg, key: { kid: resolution.kid, kmsKeyRef: resolution.kmsKeyRef, x5c: key.meta.x509.x5c } };
119
- }
120
- else if ((_b = key.meta) === null || _b === void 0 ? void 0 : _b.jwkThumbprint) {
121
- return { alg, key: { kid: resolution.kid, kmsKeyRef: resolution.kmsKeyRef, jwkThumbprint: key.meta.jwkThumbprint } };
122
- }
123
- else {
124
- return { alg, key: { kid: resolution.kid, kmsKeyRef: resolution.kmsKeyRef } };
125
- }
126
- }
92
+ async getSignKey(args, context) {
93
+ // TODO Using identifierManagedGetByDid now (new managed identifier resolution). Evaluate of we need to implement more identifier types here
94
+ const { identifier, resolution } = { ...args };
95
+ if (resolution) {
96
+ const key = resolution.key;
97
+ const alg = await signatureAlgorithmFromKey({ key });
98
+ switch (resolution.method) {
99
+ case 'did':
100
+ debug(`Signing key ${key.publicKeyHex} found for identifier ${identifier}`);
101
+ return { alg, key: { ...key, kmsKeyRef: resolution.kmsKeyRef, kid: resolution.kid } };
102
+ default:
103
+ if (key.meta?.x509 && key.meta.x509.x5c) {
104
+ return { alg, key: { kid: resolution.kid, kmsKeyRef: resolution.kmsKeyRef, x5c: key.meta.x509.x5c } };
105
+ }
106
+ else if (key.meta?.jwkThumbprint) {
107
+ return { alg, key: { kid: resolution.kid, kmsKeyRef: resolution.kmsKeyRef, jwkThumbprint: key.meta.jwkThumbprint } };
108
+ }
109
+ else {
110
+ return { alg, key: { kid: resolution.kid, kmsKeyRef: resolution.kmsKeyRef } };
111
+ }
127
112
  }
128
- else if (identifier.startsWith('did:')) {
129
- const didIdentifier = yield context.agent.identifierManagedGetByDid({ identifier });
130
- if (!didIdentifier) {
131
- throw new Error(`No identifier found with the given did: ${identifier}`);
132
- }
133
- const key = didIdentifier.key;
134
- const alg = yield (0, ssi_sdk_ext_key_utils_1.signatureAlgorithmFromKey)({ key });
135
- debug(`Signing key ${key.publicKeyHex} found for identifier ${identifier}`);
136
- return { alg, key: Object.assign(Object.assign({}, key), { kmsKeyRef: didIdentifier.kmsKeyRef, kid: didIdentifier.kid }) };
113
+ }
114
+ else if (identifier.startsWith('did:')) {
115
+ const didIdentifier = await context.agent.identifierManagedGetByDid({ identifier });
116
+ if (!didIdentifier) {
117
+ throw new Error(`No identifier found with the given did: ${identifier}`);
118
+ }
119
+ const key = didIdentifier.key;
120
+ const alg = await signatureAlgorithmFromKey({ key });
121
+ debug(`Signing key ${key.publicKeyHex} found for identifier ${identifier}`);
122
+ return { alg, key: { ...key, kmsKeyRef: didIdentifier.kmsKeyRef, kid: didIdentifier.kid } };
123
+ }
124
+ else {
125
+ const kidIdentifier = await context.agent.identifierManagedGetByKid({ identifier });
126
+ if (!kidIdentifier) {
127
+ throw new Error(`No identifier found with the given kid: ${identifier}`);
128
+ }
129
+ const key = kidIdentifier.key;
130
+ const alg = await signatureAlgorithmFromKey({ key });
131
+ if (key.meta?.x509 && key.meta.x509.x5c) {
132
+ return { alg, key: { kid: kidIdentifier.kid, kmsKeyRef: kidIdentifier.kmsKeyRef, x5c: key.meta.x509.x5c } };
133
+ }
134
+ else if (key.meta?.jwkThumbprint) {
135
+ return { alg, key: { kid: kidIdentifier.kid, kmsKeyRef: kidIdentifier.kmsKeyRef, jwkThumbprint: key.meta.jwkThumbprint } };
137
136
  }
138
137
  else {
139
- const kidIdentifier = yield context.agent.identifierManagedGetByKid({ identifier });
140
- if (!kidIdentifier) {
141
- throw new Error(`No identifier found with the given kid: ${identifier}`);
142
- }
143
- const key = kidIdentifier.key;
144
- const alg = yield (0, ssi_sdk_ext_key_utils_1.signatureAlgorithmFromKey)({ key });
145
- if (((_c = key.meta) === null || _c === void 0 ? void 0 : _c.x509) && key.meta.x509.x5c) {
146
- return { alg, key: { kid: kidIdentifier.kid, kmsKeyRef: kidIdentifier.kmsKeyRef, x5c: key.meta.x509.x5c } };
147
- }
148
- else if ((_d = key.meta) === null || _d === void 0 ? void 0 : _d.jwkThumbprint) {
149
- return { alg, key: { kid: kidIdentifier.kid, kmsKeyRef: kidIdentifier.kmsKeyRef, jwkThumbprint: key.meta.jwkThumbprint } };
150
- }
151
- else {
152
- return { alg, key: { kid: kidIdentifier.kid, kmsKeyRef: kidIdentifier.kmsKeyRef } };
153
- }
138
+ return { alg, key: { kid: kidIdentifier.kid, kmsKeyRef: kidIdentifier.kmsKeyRef } };
154
139
  }
155
- });
140
+ }
156
141
  }
157
142
  /**
158
143
  * Create a signed SD-JWT presentation.
@@ -160,39 +145,36 @@ class SDJwtPlugin {
160
145
  * @param context - This reserved param is automatically added and handled by the framework, *do not override*
161
146
  * @returns A signed SD-JWT presentation.
162
147
  */
163
- createSdJwtPresentation(args, context) {
164
- return __awaiter(this, void 0, void 0, function* () {
165
- var _a, _b, _c, _d;
166
- const cred = yield core_1.SDJwt.fromEncode(args.presentation, this.registeredImplementations.hasher);
167
- const claims = yield cred.getClaims(this.registeredImplementations.hasher);
168
- let holder;
169
- // we primarly look for a cnf field, if it's not there we look for a sub field. If this is also not given, we throw an error since we can not sign it.
170
- if (args.holder) {
171
- holder = args.holder;
172
- }
173
- else if ((_a = claims.cnf) === null || _a === void 0 ? void 0 : _a.jwk) {
174
- const jwk = claims.cnf.jwk;
175
- holder = (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk: jwk });
176
- }
177
- else if ((_b = claims.cnf) === null || _b === void 0 ? void 0 : _b.kid) {
178
- holder = (_c = claims.cnf) === null || _c === void 0 ? void 0 : _c.kid;
179
- }
180
- else if (claims.sub) {
181
- holder = claims.sub;
182
- }
183
- else {
184
- throw new Error('invalid_argument: credential does not include a holder reference');
185
- }
186
- const { alg, signer } = yield this.getSignerForIdentifier({ identifier: holder }, context);
187
- const sdjwt = new sd_jwt_vc_1.SDJwtVcInstance({
188
- hasher: (_d = this.registeredImplementations.hasher) !== null && _d !== void 0 ? _d : defaultCallbacks_1.defaultGenerateDigest,
189
- saltGenerator: this.registeredImplementations.saltGenerator,
190
- kbSigner: signer,
191
- kbSignAlg: alg !== null && alg !== void 0 ? alg : 'ES256',
192
- });
193
- const presentation = yield sdjwt.present(args.presentation, args.presentationFrame, { kb: args.kb });
194
- return { presentation };
148
+ async createSdJwtPresentation(args, context) {
149
+ const cred = await SDJwt.fromEncode(args.presentation, this.registeredImplementations.hasher);
150
+ const claims = await cred.getClaims(this.registeredImplementations.hasher);
151
+ let holder;
152
+ // we primarly look for a cnf field, if it's not there we look for a sub field. If this is also not given, we throw an error since we can not sign it.
153
+ if (args.holder) {
154
+ holder = args.holder;
155
+ }
156
+ else if (claims.cnf?.jwk) {
157
+ const jwk = claims.cnf.jwk;
158
+ holder = calculateJwkThumbprint({ jwk: jwk });
159
+ }
160
+ else if (claims.cnf?.kid) {
161
+ holder = claims.cnf?.kid;
162
+ }
163
+ else if (claims.sub) {
164
+ holder = claims.sub;
165
+ }
166
+ else {
167
+ throw new Error('invalid_argument: credential does not include a holder reference');
168
+ }
169
+ const { alg, signer } = await this.getSignerForIdentifier({ identifier: holder }, context);
170
+ const sdjwt = new SDJwtVcInstance({
171
+ hasher: this.registeredImplementations.hasher ?? defaultGenerateDigest,
172
+ saltGenerator: this.registeredImplementations.saltGenerator,
173
+ kbSigner: signer,
174
+ kbSignAlg: alg ?? 'ES256',
195
175
  });
176
+ const presentation = await sdjwt.present(args.presentation, args.presentationFrame, { kb: args.kb });
177
+ return { presentation };
196
178
  }
197
179
  /**
198
180
  * Verify a signed SD-JWT credential.
@@ -200,15 +182,12 @@ class SDJwtPlugin {
200
182
  * @param context - This reserved param is automatically added and handled by the framework, *do not override*
201
183
  * @returns
202
184
  */
203
- verifySdJwtVc(args, context) {
204
- return __awaiter(this, void 0, void 0, function* () {
205
- var _a;
206
- // callback
207
- const verifier = (data, signature) => __awaiter(this, void 0, void 0, function* () { return this.verify(sdjwt, context, data, signature); });
208
- const sdjwt = new sd_jwt_vc_1.SDJwtVcInstance({ verifier, hasher: (_a = this.registeredImplementations.hasher) !== null && _a !== void 0 ? _a : defaultCallbacks_1.defaultGenerateDigest });
209
- const { header = {}, payload, kb } = yield sdjwt.verify(args.credential);
210
- return { header, payload: payload, kb };
211
- });
185
+ async verifySdJwtVc(args, context) {
186
+ // callback
187
+ const verifier = async (data, signature) => this.verify(sdjwt, context, data, signature);
188
+ const sdjwt = new SDJwtVcInstance({ verifier, hasher: this.registeredImplementations.hasher ?? defaultGenerateDigest });
189
+ const { header = {}, payload, kb } = await sdjwt.verify(args.credential);
190
+ return { header, payload: payload, kb };
212
191
  }
213
192
  /**
214
193
  * Verify the key binding of a SD-JWT by validating the signature of the key bound to the SD-JWT
@@ -233,66 +212,63 @@ class SDJwtPlugin {
233
212
  * @param signature - The signature
234
213
  * @returns
235
214
  */
236
- verify(sdjwt, context, data, signature, opts) {
237
- return __awaiter(this, void 0, void 0, function* () {
238
- var _a, _b, _c, _d, _e, _f;
239
- const decodedVC = yield sdjwt.decode(`${data}.${signature}`);
240
- const issuer = decodedVC.jwt.payload.iss;
241
- const header = decodedVC.jwt.header;
242
- const x5c = header === null || header === void 0 ? void 0 : header.x5c;
243
- let jwk = header.jwk;
244
- if (x5c) {
245
- const trustAnchors = new Set([...this.trustAnchorsInPEM]);
246
- if (trustAnchors.size === 0) {
247
- trustAnchors.add(trustAnchors_1.sphereonCA);
248
- trustAnchors.add(trustAnchors_1.funkeTestCA);
249
- }
250
- const certificateValidationResult = yield context.agent.x509VerifyCertificateChain({
251
- chain: x5c,
252
- trustAnchors: Array.from(trustAnchors),
253
- // TODO: Defaults to allowing untrusted certs! Fine for now, not when wallets go mainstream
254
- opts: (_a = opts === null || opts === void 0 ? void 0 : opts.x5cValidation) !== null && _a !== void 0 ? _a : { trustRootWhenNoAnchors: true, allowNoTrustAnchorsFound: true },
255
- });
256
- if (certificateValidationResult.error || !(certificateValidationResult === null || certificateValidationResult === void 0 ? void 0 : certificateValidationResult.certificateChain)) {
257
- return Promise.reject(Error(`Certificate chain validation failed. ${certificateValidationResult.message}`));
258
- }
259
- const certInfo = certificateValidationResult.certificateChain[0];
260
- jwk = certInfo.publicKeyJWK;
215
+ async verify(sdjwt, context, data, signature, opts) {
216
+ const decodedVC = await sdjwt.decode(`${data}.${signature}`);
217
+ const issuer = decodedVC.jwt.payload.iss;
218
+ const header = decodedVC.jwt.header;
219
+ const x5c = header?.x5c;
220
+ let jwk = header.jwk;
221
+ if (x5c) {
222
+ const trustAnchors = new Set([...this.trustAnchorsInPEM]);
223
+ if (trustAnchors.size === 0) {
224
+ trustAnchors.add(sphereonCA);
225
+ trustAnchors.add(funkeTestCA);
261
226
  }
262
- if (!jwk && ((_b = header.kid) === null || _b === void 0 ? void 0 : _b.includes('did:'))) {
263
- const didDoc = yield context.agent.resolveDid({ didUrl: header.kid });
264
- if (!didDoc) {
265
- throw new Error('invalid_issuer: issuer did not resolve to a did document');
266
- }
267
- //TODO SDK-20: This should be checking for an assertionMethod and not just an verificationMethod with an id
268
- const didDocumentKey = (_d = (_c = didDoc.didDocument) === null || _c === void 0 ? void 0 : _c.verificationMethod) === null || _d === void 0 ? void 0 : _d.find((key) => key.id);
269
- if (!didDocumentKey) {
270
- throw new Error('invalid_issuer: issuer did document does not include referenced key');
271
- }
272
- //FIXME SDK-21: in case it's another did method, the value of the key can be also encoded as a base64url
273
- // needs more checks. some DID methods do not expose the keys as publicKeyJwk
274
- jwk = didDocumentKey.publicKeyJwk;
227
+ const certificateValidationResult = await context.agent.x509VerifyCertificateChain({
228
+ chain: x5c,
229
+ trustAnchors: Array.from(trustAnchors),
230
+ // TODO: Defaults to allowing untrusted certs! Fine for now, not when wallets go mainstream
231
+ opts: opts?.x5cValidation ?? { trustRootWhenNoAnchors: true, allowNoTrustAnchorsFound: true },
232
+ });
233
+ if (certificateValidationResult.error || !certificateValidationResult?.certificateChain) {
234
+ return Promise.reject(Error(`Certificate chain validation failed. ${certificateValidationResult.message}`));
275
235
  }
276
- if (!jwk && issuer.includes('did:')) {
277
- // TODO refactor
278
- const didDoc = yield context.agent.resolveDid({ didUrl: issuer });
279
- if (!didDoc) {
280
- throw new Error('invalid_issuer: issuer did not resolve to a did document');
281
- }
282
- //TODO SDK-20: This should be checking for an assertionMethod and not just an verificationMethod with an id
283
- const didDocumentKey = (_f = (_e = didDoc.didDocument) === null || _e === void 0 ? void 0 : _e.verificationMethod) === null || _f === void 0 ? void 0 : _f.find((key) => key.id);
284
- if (!didDocumentKey) {
285
- throw new Error('invalid_issuer: issuer did document does not include referenced key');
286
- }
287
- //FIXME SDK-21: in case it's another did method, the value of the key can be also encoded as a base64url
288
- // needs more checks. some DID methods do not expose the keys as publicKeyJwk
289
- jwk = didDocumentKey.publicKeyJwk;
236
+ const certInfo = certificateValidationResult.certificateChain[0];
237
+ jwk = certInfo.publicKeyJWK;
238
+ }
239
+ if (!jwk && header.kid?.includes('did:')) {
240
+ const didDoc = await context.agent.resolveDid({ didUrl: header.kid });
241
+ if (!didDoc) {
242
+ throw new Error('invalid_issuer: issuer did not resolve to a did document');
290
243
  }
291
- if (!jwk) {
292
- throw new Error('No valid public key found for signature verification');
244
+ //TODO SDK-20: This should be checking for an assertionMethod and not just an verificationMethod with an id
245
+ const didDocumentKey = didDoc.didDocument?.verificationMethod?.find((key) => key.id);
246
+ if (!didDocumentKey) {
247
+ throw new Error('invalid_issuer: issuer did document does not include referenced key');
293
248
  }
294
- return this.verifySignatureCallback(context)(data, signature, jwk);
295
- });
249
+ //FIXME SDK-21: in case it's another did method, the value of the key can be also encoded as a base64url
250
+ // needs more checks. some DID methods do not expose the keys as publicKeyJwk
251
+ jwk = didDocumentKey.publicKeyJwk;
252
+ }
253
+ if (!jwk && issuer.includes('did:')) {
254
+ // TODO refactor
255
+ const didDoc = await context.agent.resolveDid({ didUrl: issuer });
256
+ if (!didDoc) {
257
+ throw new Error('invalid_issuer: issuer did not resolve to a did document');
258
+ }
259
+ //TODO SDK-20: This should be checking for an assertionMethod and not just an verificationMethod with an id
260
+ const didDocumentKey = didDoc.didDocument?.verificationMethod?.find((key) => key.id);
261
+ if (!didDocumentKey) {
262
+ throw new Error('invalid_issuer: issuer did document does not include referenced key');
263
+ }
264
+ //FIXME SDK-21: in case it's another did method, the value of the key can be also encoded as a base64url
265
+ // needs more checks. some DID methods do not expose the keys as publicKeyJwk
266
+ jwk = didDocumentKey.publicKeyJwk;
267
+ }
268
+ if (!jwk) {
269
+ throw new Error('No valid public key found for signature verification');
270
+ }
271
+ return this.verifySignatureCallback(context)(data, signature, jwk);
296
272
  }
297
273
  /**
298
274
  * Verify a signed SD-JWT presentation.
@@ -300,18 +276,16 @@ class SDJwtPlugin {
300
276
  * @param context - This reserved param is automatically added and handled by the framework, *do not override*
301
277
  * @returns
302
278
  */
303
- verifySdJwtPresentation(args, context) {
304
- return __awaiter(this, void 0, void 0, function* () {
305
- let sdjwt;
306
- const verifier = (data, signature) => __awaiter(this, void 0, void 0, function* () { return this.verify(sdjwt, context, data, signature); });
307
- const verifierKb = (data, signature, payload) => __awaiter(this, void 0, void 0, function* () { return this.verifyKb(sdjwt, context, data, signature, payload); });
308
- sdjwt = new sd_jwt_vc_1.SDJwtVcInstance({
309
- verifier,
310
- hasher: this.registeredImplementations.hasher,
311
- kbVerifier: verifierKb,
312
- });
313
- return sdjwt.verify(args.presentation, args.requiredClaimKeys, args.kb);
279
+ async verifySdJwtPresentation(args, context) {
280
+ let sdjwt;
281
+ const verifier = async (data, signature) => this.verify(sdjwt, context, data, signature);
282
+ const verifierKb = async (data, signature, payload) => this.verifyKb(sdjwt, context, data, signature, payload);
283
+ sdjwt = new SDJwtVcInstance({
284
+ verifier,
285
+ hasher: this.registeredImplementations.hasher,
286
+ kbVerifier: verifierKb,
314
287
  });
288
+ return sdjwt.verify(args.presentation, args.requiredClaimKeys, args.kb);
315
289
  }
316
290
  /**
317
291
  * Fetch and validate Type Metadata.
@@ -319,67 +293,62 @@ class SDJwtPlugin {
319
293
  * @param context - This reserved param is automatically added and handled by the framework, *do not override*
320
294
  * @returns
321
295
  */
322
- fetchSdJwtTypeMetadataFromVctUrl(args, context) {
323
- return __awaiter(this, void 0, void 0, function* () {
324
- var _a, _b, _c;
325
- const { vct, vctIntegrity, opts } = args;
326
- const url = new URL(vct);
327
- const response = yield (0, utils_2.fetchUrlWithErrorHandling)(url.toString());
328
- const metadata = yield response.json();
329
- (0, utils_2.assertValidTypeMetadata)(metadata, vct);
330
- const validate = (vct, input, integrityValue, hasher) => __awaiter(this, void 0, void 0, function* () {
331
- if (hasher && integrityValue) {
332
- const validation = yield (0, utils_2.validateIntegrity)({ integrityValue, input, hasher });
333
- if (!validation) {
334
- return Promise.reject(Error(`Integrity check failed for vct: ${vct}, extends: ${metadata.extends}, integrity: ${integrityValue}}`));
335
- }
296
+ async fetchSdJwtTypeMetadataFromVctUrl(args, context) {
297
+ const { vct, vctIntegrity, opts } = args;
298
+ const url = new URL(vct);
299
+ const response = await fetchUrlWithErrorHandling(url.toString());
300
+ const metadata = await response.json();
301
+ assertValidTypeMetadata(metadata, vct);
302
+ const validate = async (vct, input, integrityValue, hasher) => {
303
+ if (hasher && integrityValue) {
304
+ const validation = await validateIntegrity({ integrityValue, input, hasher });
305
+ if (!validation) {
306
+ return Promise.reject(Error(`Integrity check failed for vct: ${vct}, extends: ${metadata.extends}, integrity: ${integrityValue}}`));
336
307
  }
337
- });
338
- const hasher = ((_b = (_a = opts === null || opts === void 0 ? void 0 : opts.hasher) !== null && _a !== void 0 ? _a : this.registeredImplementations.hasher) !== null && _b !== void 0 ? _b : defaultCallbacks_1.defaultGenerateDigest);
339
- if (hasher) {
340
- if (vctIntegrity) {
341
- yield validate(vct, metadata, vctIntegrity, hasher);
342
- const vctValidation = yield (0, utils_2.validateIntegrity)({ integrityValue: vctIntegrity, input: metadata, hasher });
343
- if (!vctValidation) {
344
- return Promise.reject(Error(`Integrity check failed for vct: ${vct}, integrity: ${vctIntegrity}`));
345
- }
346
- }
347
- if (metadata['extends#integrity']) {
348
- const extendsMetadata = yield this.fetchSdJwtTypeMetadataFromVctUrl({ vct: metadata['extends#integrity'], opts }, context);
349
- yield validate(vct, extendsMetadata, metadata['extends#integrity'], hasher);
350
- }
351
- if (metadata['schema_uri#integrity']) {
352
- const schemaResponse = yield (0, utils_2.fetchUrlWithErrorHandling)(metadata.schema_uri);
353
- const schema = yield schemaResponse.json();
354
- yield validate(vct, schema, metadata['schema_uri#integrity'], hasher);
308
+ }
309
+ };
310
+ const hasher = (opts?.hasher ?? this.registeredImplementations.hasher ?? defaultGenerateDigest);
311
+ if (hasher) {
312
+ if (vctIntegrity) {
313
+ await validate(vct, metadata, vctIntegrity, hasher);
314
+ const vctValidation = await validateIntegrity({ integrityValue: vctIntegrity, input: metadata, hasher });
315
+ if (!vctValidation) {
316
+ return Promise.reject(Error(`Integrity check failed for vct: ${vct}, integrity: ${vctIntegrity}`));
355
317
  }
356
- (_c = metadata.display) === null || _c === void 0 ? void 0 : _c.forEach((display) => {
357
- var _a, _b, _c;
358
- const simpleLogoIntegrity = (_c = (_b = (_a = display.rendering) === null || _a === void 0 ? void 0 : _a.simple) === null || _b === void 0 ? void 0 : _b.logo) === null || _c === void 0 ? void 0 : _c['uri#integrity'];
359
- if (simpleLogoIntegrity) {
360
- console.log('TODO: Logo integrity check');
361
- }
362
- });
363
318
  }
364
- return metadata;
365
- });
319
+ if (metadata['extends#integrity']) {
320
+ const extendsMetadata = await this.fetchSdJwtTypeMetadataFromVctUrl({ vct: metadata['extends#integrity'], opts }, context);
321
+ await validate(vct, extendsMetadata, metadata['extends#integrity'], hasher);
322
+ }
323
+ if (metadata['schema_uri#integrity']) {
324
+ const schemaResponse = await fetchUrlWithErrorHandling(metadata.schema_uri);
325
+ const schema = await schemaResponse.json();
326
+ await validate(vct, schema, metadata['schema_uri#integrity'], hasher);
327
+ }
328
+ metadata.display?.forEach((display) => {
329
+ const simpleLogoIntegrity = display.rendering?.simple?.logo?.['uri#integrity'];
330
+ if (simpleLogoIntegrity) {
331
+ console.log('TODO: Logo integrity check');
332
+ }
333
+ });
334
+ }
335
+ return metadata;
366
336
  }
367
337
  verifySignatureCallback(context) {
368
338
  if (typeof this.registeredImplementations.verifySignature === 'function') {
369
339
  return this.registeredImplementations.verifySignature;
370
340
  }
371
- return (0, defaultCallbacks_1.defaultVerifySignature)(context);
341
+ return defaultVerifySignature(context);
372
342
  }
373
343
  getJwk(payload) {
374
- var _a;
375
- if (((_a = payload.cnf) === null || _a === void 0 ? void 0 : _a.jwk) !== undefined) {
344
+ if (payload.cnf?.jwk !== undefined) {
376
345
  return payload.cnf.jwk;
377
346
  }
378
347
  else if (payload.cnf !== undefined && 'kid' in payload.cnf && typeof payload.cnf.kid === 'string' && payload.cnf.kid.startsWith('did:jwk:')) {
379
348
  // extract JWK from kid FIXME isn't there a did function for this already? Otherwise create one
380
349
  // FIXME this is a quick-fix to make verification but we need a real solution
381
350
  const encoded = this.extractBase64FromDIDJwk(payload.cnf.kid);
382
- const decoded = (0, utils_1.decodeBase64url)(encoded);
351
+ const decoded = decodeBase64url(encoded);
383
352
  const jwt = JSON.parse(decoded);
384
353
  return jwt;
385
354
  }
@@ -393,5 +362,4 @@ class SDJwtPlugin {
393
362
  return parts[2].split('#')[0];
394
363
  }
395
364
  }
396
- exports.SDJwtPlugin = SDJwtPlugin;
397
365
  //# sourceMappingURL=action-handler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"action-handler.js","sourceRoot":"","sources":["../src/action-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-handler.js","sourceRoot":"","sources":["../src/action-handler.ts"],"names":[],"mappings":"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"}
@@ -1,55 +1,17 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
1
+ import { digestMethodParams } from '@sphereon/ssi-sdk-ext.key-utils';
2
+ import { Loggers } from '@sphereon/ssi-types';
3
+ import { v4 } from 'uuid';
4
+ import * as u8a from 'uint8arrays';
5
+ export const defaultGenerateDigest = (data, alg) => {
6
+ return digestMethodParams(alg.includes('256') ? 'SHA-256' : 'SHA-512').hash(typeof data === 'string' ? u8a.fromString(data, 'utf-8') : new Uint8Array(data));
24
7
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
8
+ export const defaultGenerateSalt = () => {
9
+ return v4();
33
10
  };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.defaultVerifySignature = exports.defaultGenerateSalt = exports.defaultGenerateDigest = void 0;
36
- const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
37
- const ssi_types_1 = require("@sphereon/ssi-types");
38
- const uuid_1 = require("uuid");
39
- const u8a = __importStar(require("uint8arrays"));
40
- const defaultGenerateDigest = (data, alg) => {
41
- return (0, ssi_sdk_ext_key_utils_1.digestMethodParams)(alg.includes('256') ? 'SHA-256' : 'SHA-512').hash(typeof data === 'string' ? u8a.fromString(data, 'utf-8') : new Uint8Array(data));
42
- };
43
- exports.defaultGenerateDigest = defaultGenerateDigest;
44
- const defaultGenerateSalt = () => {
45
- return (0, uuid_1.v4)();
46
- };
47
- exports.defaultGenerateSalt = defaultGenerateSalt;
48
- const defaultVerifySignature = (context) => (data, signature, publicKey) => __awaiter(void 0, void 0, void 0, function* () {
11
+ export const defaultVerifySignature = (context) => async (data, signature, publicKey) => {
49
12
  // The data and signature from the sd-jwt lib are a jwt header.payload and signature, so let's recombine into a compact jwt
50
- const result = yield context.agent.jwtVerifyJwsSignature({ jws: `${data}.${signature}`, jwk: publicKey });
51
- ssi_types_1.Loggers.DEFAULT.get('sd-jwt').info(`SD-JWT signature verified. Result: ${result.message}`);
13
+ const result = await context.agent.jwtVerifyJwsSignature({ jws: `${data}.${signature}`, jwk: publicKey });
14
+ Loggers.DEFAULT.get('sd-jwt').info(`SD-JWT signature verified. Result: ${result.message}`);
52
15
  return !result.error;
53
- });
54
- exports.defaultVerifySignature = defaultVerifySignature;
16
+ };
55
17
  //# sourceMappingURL=defaultCallbacks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultCallbacks.js","sourceRoot":"","sources":["../src/defaultCallbacks.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2EAAoE;AACpE,mDAA8D;AAC9D,+BAAyB;AACzB,iDAAkC;AAG3B,MAAM,qBAAqB,GAAe,CAAC,IAA0B,EAAE,GAAW,EAAc,EAAE;IACvG,OAAO,IAAA,0CAAkB,EAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CACzE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAChF,CAAA;AACH,CAAC,CAAA;AAJY,QAAA,qBAAqB,yBAIjC;AAEM,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,OAAO,IAAA,SAAE,GAAE,CAAA;AACb,CAAC,CAAA;AAFY,QAAA,mBAAmB,uBAE/B;AAEM,MAAM,sBAAsB,GACjC,CAAC,OAAyB,EAAwB,EAAE,CACpD,CAAO,IAAY,EAAE,SAAiB,EAAE,SAAqB,EAAoB,EAAE;IACjF,2HAA2H;IAC3H,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,SAAS,EAAE,EAAE,GAAG,EAAE,SAAgB,EAAE,CAAC,CAAA;IAChH,mBAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACtB,CAAC,CAAA,CAAA;AAPU,QAAA,sBAAsB,0BAOhC"}
1
+ {"version":3,"file":"defaultCallbacks.js","sourceRoot":"","sources":["../src/defaultCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAmB,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA;AACzB,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAGlC,MAAM,CAAC,MAAM,qBAAqB,GAAe,CAAC,IAA0B,EAAE,GAAW,EAAc,EAAE;IACvG,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CACzE,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAChF,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,OAAO,EAAE,EAAE,CAAA;AACb,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GACjC,CAAC,OAAyB,EAAwB,EAAE,CACpD,KAAK,EAAE,IAAY,EAAE,SAAiB,EAAE,SAAqB,EAAoB,EAAE;IACjF,2HAA2H;IAC3H,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,SAAS,EAAE,EAAE,GAAG,EAAE,SAAgB,EAAE,CAAC,CAAA;IAChH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,sCAAsC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1F,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;AACtB,CAAC,CAAA"}
package/dist/index.js CHANGED
@@ -1,22 +1,4 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.SDJwtPlugin = void 0;
18
- var action_handler_1 = require("./action-handler");
19
- Object.defineProperty(exports, "SDJwtPlugin", { enumerable: true, get: function () { return action_handler_1.SDJwtPlugin; } });
20
- __exportStar(require("./utils"), exports);
21
- __exportStar(require("./types"), exports);
1
+ export { SDJwtPlugin } from './action-handler';
2
+ export * from './utils';
3
+ export * from './types';
22
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mDAA8C;AAArC,6GAAA,WAAW,OAAA;AACpB,0CAAuB;AACvB,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sphereonCA = exports.funkeTestCA = void 0;
4
- exports.funkeTestCA = '-----BEGIN CERTIFICATE-----\n' +
1
+ export const funkeTestCA = '-----BEGIN CERTIFICATE-----\n' +
5
2
  'MIICeTCCAiCgAwIBAgIUB5E9QVZtmUYcDtCjKB/H3VQv72gwCgYIKoZIzj0EAwIwgYgxCzAJBgNVBAYTAkRFMQ8wDQYDVQQHDAZCZXJsaW4xHTAbBgNVBAoMFEJ1bmRlc2RydWNrZXJlaSBHbWJIMREwDwYDVQQLDAhUIENTIElERTE2MDQGA1UEAwwtU1BSSU5EIEZ1bmtlIEVVREkgV2FsbGV0IFByb3RvdHlwZSBJc3N1aW5nIENBMB4XDTI0MDUzMTA2NDgwOVoXDTM0MDUyOTA2NDgwOVowgYgxCzAJBgNVBAYTAkRFMQ8wDQYDVQQHDAZCZXJsaW4xHTAbBgNVBAoMFEJ1bmRlc2RydWNrZXJlaSBHbWJIMREwDwYDVQQLDAhUIENTIElERTE2MDQGA1UEAwwtU1BSSU5EIEZ1bmtlIEVVREkgV2FsbGV0IFByb3RvdHlwZSBJc3N1aW5nIENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYGzdwFDnc7+Kn5ibAvCOM8ke77VQxqfMcwZL8IaIA+WCROcCfmY/giH92qMru5p/kyOivE0RC/IbdMONvDoUyaNmMGQwHQYDVR0OBBYEFNRWGMCJOOgOWIQYyXZiv6u7xZC+MB8GA1UdIwQYMBaAFNRWGMCJOOgOWIQYyXZiv6u7xZC+MBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA0cAMEQCIGEm7wkZKHt/atb4MdFnXW6yrnwMUT2u136gdtl10Y6hAiBuTFqvVYth1rbxzCP0xWZHmQK9kVyxn8GPfX27EIzzsw==\n' +
6
3
  '-----END CERTIFICATE-----';
7
- exports.sphereonCA = '-----BEGIN CERTIFICATE-----\n' +
4
+ export const sphereonCA = '-----BEGIN CERTIFICATE-----\n' +
8
5
  'MIICCDCCAa6gAwIBAgITAPMgqwtYzWPBXaobHhxG9iSydTAKBggqhkjOPQQDAjBa\n' +
9
6
  'MQswCQYDVQQGEwJOTDEkMCIGA1UECgwbU3BoZXJlb24gSW50ZXJuYXRpb25hbCBC\n' +
10
7
  'LlYuMQswCQYDVQQLDAJJVDEYMBYGA1UEAwwPY2Euc3BoZXJlb24uY29tMB4XDTI0\n' +
@@ -1 +1 @@
1
- {"version":3,"file":"trustAnchors.js","sourceRoot":"","sources":["../src/trustAnchors.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GACtB,+BAA+B;IAC/B,w1BAAw1B;IACx1B,2BAA2B,CAAA;AAEhB,QAAA,UAAU,GACrB,+BAA+B;IAC/B,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,gEAAgE;IAChE,2BAA2B,CAAA"}
1
+ {"version":3,"file":"trustAnchors.js","sourceRoot":"","sources":["../src/trustAnchors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GACtB,+BAA+B;IAC/B,w1BAAw1B;IACx1B,2BAA2B,CAAA;AAE7B,MAAM,CAAC,MAAM,UAAU,GACrB,+BAA+B;IAC/B,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,gEAAgE;IAChE,2BAA2B,CAAA"}
package/dist/types.js CHANGED
@@ -1,10 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sdJwtPluginContextMethods = void 0;
4
- exports.contextHasSDJwtPlugin = contextHasSDJwtPlugin;
5
- const ssi_sdk_agent_config_1 = require("@sphereon/ssi-sdk.agent-config");
6
- exports.sdJwtPluginContextMethods = ['createSdJwtVc', 'createSdJwtPresentation', 'verifySdJwtVc', 'verifySdJwtPresentation'];
7
- function contextHasSDJwtPlugin(context) {
8
- return (0, ssi_sdk_agent_config_1.contextHasPlugin)(context, 'verifySdJwtVc');
1
+ import { contextHasPlugin } from '@sphereon/ssi-sdk.agent-config';
2
+ export const sdJwtPluginContextMethods = ['createSdJwtVc', 'createSdJwtPresentation', 'verifySdJwtVc', 'verifySdJwtPresentation'];
3
+ export function contextHasSDJwtPlugin(context) {
4
+ return contextHasPlugin(context, 'verifySdJwtVc');
9
5
  }
10
6
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AA6EA,sDAEC;AA1ED,yEAAiE;AAKpD,QAAA,yBAAyB,GAAkB,CAAC,eAAe,EAAE,yBAAyB,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAA;AAmEhJ,SAAgB,qBAAqB,CAAC,OAAwC;IAC5E,OAAO,IAAA,uCAAgB,EAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AACnD,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAKjE,MAAM,CAAC,MAAM,yBAAyB,GAAkB,CAAC,eAAe,EAAE,yBAAyB,EAAE,eAAe,EAAE,yBAAyB,CAAC,CAAA;AAmEhJ,MAAM,UAAU,qBAAqB,CAAC,OAAwC;IAC5E,OAAO,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AACnD,CAAC"}
package/dist/utils.js CHANGED
@@ -1,83 +1,38 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.fetchUrlWithErrorHandling = fetchUrlWithErrorHandling;
36
- exports.extractHashFromIntegrity = extractHashFromIntegrity;
37
- exports.validateIntegrity = validateIntegrity;
38
- exports.createIntegrity = createIntegrity;
39
- exports.assertValidTypeMetadata = assertValidTypeMetadata;
40
- const u8a = __importStar(require("uint8arrays"));
1
+ import * as u8a from 'uint8arrays';
41
2
  // Helper function to fetch API with error handling
42
- function fetchUrlWithErrorHandling(url) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- const response = yield fetch(url);
45
- if (!response.ok) {
46
- throw new Error(`${response.status}: ${response.statusText}`);
47
- }
48
- return response;
49
- });
3
+ export async function fetchUrlWithErrorHandling(url) {
4
+ const response = await fetch(url);
5
+ if (!response.ok) {
6
+ throw new Error(`${response.status}: ${response.statusText}`);
7
+ }
8
+ return response;
50
9
  }
51
10
  function extractHashAlgFromIntegrity(integrityValue) {
52
- const val = integrityValue === null || integrityValue === void 0 ? void 0 : integrityValue.toLowerCase().trim().split('-')[0];
11
+ const val = integrityValue?.toLowerCase().trim().split('-')[0];
53
12
  if (val === 'sha256' || val === 'sha384' || val === 'sha512') {
54
13
  return val;
55
14
  }
56
15
  return undefined;
57
16
  }
58
- function extractHashFromIntegrity(integrityValue) {
59
- return integrityValue === null || integrityValue === void 0 ? void 0 : integrityValue.toLowerCase().trim().split('-')[1];
17
+ export function extractHashFromIntegrity(integrityValue) {
18
+ return integrityValue?.toLowerCase().trim().split('-')[1];
60
19
  }
61
- function validateIntegrity(_a) {
62
- return __awaiter(this, arguments, void 0, function* ({ input, integrityValue, hasher, }) {
63
- if (!integrityValue) {
64
- return true;
65
- }
66
- const alg = extractHashAlgFromIntegrity(integrityValue);
67
- if (!alg) {
68
- return false;
69
- }
70
- const calculatedHash = yield createIntegrity({ hasher, input, alg });
71
- return calculatedHash == integrityValue;
72
- });
20
+ export async function validateIntegrity({ input, integrityValue, hasher, }) {
21
+ if (!integrityValue) {
22
+ return true;
23
+ }
24
+ const alg = extractHashAlgFromIntegrity(integrityValue);
25
+ if (!alg) {
26
+ return false;
27
+ }
28
+ const calculatedHash = await createIntegrity({ hasher, input, alg });
29
+ return calculatedHash == integrityValue;
73
30
  }
74
- function createIntegrity(_a) {
75
- return __awaiter(this, arguments, void 0, function* ({ input, hasher, alg = 'sha256', }) {
76
- const calculatedHash = yield hasher(typeof input === 'string' ? input : JSON.stringify(input), alg);
77
- return `${alg}-${u8a.toString(calculatedHash, 'base64')}`;
78
- });
31
+ export async function createIntegrity({ input, hasher, alg = 'sha256', }) {
32
+ const calculatedHash = await hasher(typeof input === 'string' ? input : JSON.stringify(input), alg);
33
+ return `${alg}-${u8a.toString(calculatedHash, 'base64')}`;
79
34
  }
80
- function assertValidTypeMetadata(metadata, vct) {
35
+ export function assertValidTypeMetadata(metadata, vct) {
81
36
  if (metadata.vct !== vct) {
82
37
  throw new Error('VCT mismatch in metadata and credential');
83
38
  }
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,8DAMC;AAYD,4DAEC;AAED,8CAkBC;AAED,0CAWC;AAED,0DAIC;AAhED,iDAAkC;AAIlC,mDAAmD;AACnD,SAAsB,yBAAyB,CAAC,GAAW;;QACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;QACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;QAC/D,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;CAAA;AAID,SAAS,2BAA2B,CAAC,cAAuB;IAC1D,MAAM,GAAG,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAC9D,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7D,OAAO,GAAmB,CAAA;IAC5B,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAgB,wBAAwB,CAAC,cAAuB;IAC9D,OAAO,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,GAAG,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,SAAsB,iBAAiB;yDAAC,EACtC,KAAK,EACL,cAAc,EACd,MAAM,GAKP;QACC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,GAAG,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAA;QACvD,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;QACpE,OAAO,cAAc,IAAI,cAAc,CAAA;IACzC,CAAC;CAAA;AAED,SAAsB,eAAe;yDAAC,EACpC,KAAK,EACL,MAAM,EACN,GAAG,GAAG,QAAQ,GAKf;QACC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;QACnG,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAA;IAC3D,CAAC;CAAA;AAED,SAAgB,uBAAuB,CAAC,QAA2B,EAAE,GAAW;IAC9E,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,aAAa,CAAA;AAIlC,mDAAmD;AACnD,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,GAAW;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAID,SAAS,2BAA2B,CAAC,cAAuB;IAC1D,MAAM,GAAG,GAAG,cAAc,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9D,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7D,OAAO,GAAmB,CAAA;IAC5B,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,cAAuB;IAC9D,OAAO,cAAc,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EACtC,KAAK,EACL,cAAc,EACd,MAAM,GAKP;IACC,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,GAAG,GAAG,2BAA2B,CAAC,cAAc,CAAC,CAAA;IACvD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAA;IACpE,OAAO,cAAc,IAAI,cAAc,CAAA;AACzC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EACpC,KAAK,EACL,MAAM,EACN,GAAG,GAAG,QAAQ,GAKf;IACC,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;IACnG,OAAO,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,QAA2B,EAAE,GAAW;IAC9E,IAAI,QAAQ,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC5D,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.sd-jwt",
3
- "version": "0.33.0",
3
+ "version": "0.33.1-feature.vcdm2.4+9f634bdb",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,9 +21,9 @@
21
21
  "@sphereon/ssi-sdk-ext.jwt-service": "0.28.0",
22
22
  "@sphereon/ssi-sdk-ext.key-utils": "0.28.0",
23
23
  "@sphereon/ssi-sdk-ext.x509-utils": "0.28.0",
24
- "@sphereon/ssi-sdk.agent-config": "0.33.0",
25
- "@sphereon/ssi-sdk.mdl-mdoc": "0.33.0",
26
- "@sphereon/ssi-types": "0.33.0",
24
+ "@sphereon/ssi-sdk.agent-config": "0.33.1-feature.vcdm2.4+9f634bdb",
25
+ "@sphereon/ssi-sdk.mdl-mdoc": "0.33.1-feature.vcdm2.4+9f634bdb",
26
+ "@sphereon/ssi-types": "0.33.1-feature.vcdm2.4+9f634bdb",
27
27
  "@veramo/utils": "4.2.0",
28
28
  "debug": "^4.3.5",
29
29
  "uint8arrays": "3.1.1",
@@ -72,5 +72,5 @@
72
72
  "Verifiable Credential"
73
73
  ],
74
74
  "nx": {},
75
- "gitHead": "c575bdd6642bda761881f0152e0a70ddc82d7f61"
75
+ "gitHead": "9f634bdb714061141e277508c124b08d626f6036"
76
76
  }