@sphereon/ssi-sdk.mdl-mdoc 0.32.1-next.54 → 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 +1 @@
1
- {"version":3,"file":"mDLMdoc.d.ts","sourceRoot":"","sources":["../../src/agent/mDLMdoc.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAS3C,OAAO,EAEL,QAAQ,EAKT,MAAM,mBAAmB,CAAA;AAoB1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAM5C,CAAA;AAED;;;;GAIG;AACH,qBAAa,OAAQ,YAAW,YAAY;IAC1C,QAAQ,CAAC,MAAM,MAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAMzB;IACD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,IAAI,CAIX;gBAEW,IAAI,CAAC,EAAE;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE;YAEL,sBAAsB,CAAC,EAAE,OAAO,CAAA;YAEhC,2BAA2B,CAAC,EAAE,OAAO,CAAA;YAGrC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;SACjC,CAAA;KACF;IAKD;;;;;;OAMG;YACW,uBAAuB;IAwGrC;;;;;;;OAOG;YACW,kBAAkB;IAiDhC;;;;;;OAMG;YACW,sBAAsB;IAWpC;;;;;;;OAOG;YACW,0BAA0B;IAcxC;;;;;;;;;OASG;YACW,sBAAsB;CAIrC"}
1
+ {"version":3,"file":"mDLMdoc.d.ts","sourceRoot":"","sources":["../../src/agent/mDLMdoc.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,OAAO,EAEL,QAAQ,EAKT,MAAM,mBAAmB,CAAA;AAoB1B,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAM5C,CAAA;AAED;;;;GAIG;AACH,qBAAa,OAAQ,YAAW,YAAY;IAC1C,QAAQ,CAAC,MAAM,MAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAMzB;IACD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,IAAI,CAIX;gBAEW,IAAI,CAAC,EAAE;QACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;QACvB,IAAI,CAAC,EAAE;YAEL,sBAAsB,CAAC,EAAE,OAAO,CAAA;YAEhC,2BAA2B,CAAC,EAAE,OAAO,CAAA;YAGrC,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAA;SACjC,CAAA;KACF;IAKD;;;;;;OAMG;YACW,uBAAuB;IAuGrC;;;;;;;OAOG;YACW,kBAAkB;IAiDhC;;;;;;OAMG;YACW,sBAAsB;IAWpC;;;;;;;OAOG;YACW,0BAA0B;IAcxC;;;;;;;;;OASG;YACW,sBAAsB;CAIrC"}
@@ -1,59 +1,48 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.MDLMdoc = exports.mdocSupportMethods = void 0;
13
- const kmp_mdoc_core_1 = require("@sphereon/kmp-mdoc-core");
14
- const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
15
- const ssi_sdk_ext_x509_utils_1 = require("@sphereon/ssi-sdk-ext.x509-utils");
16
- const __1 = require("..");
17
- const functions_1 = require("../functions");
18
- var CborByteString = kmp_mdoc_core_1.com.sphereon.cbor.CborByteString;
19
- var CoseKeyCbor = kmp_mdoc_core_1.com.sphereon.crypto.cose.CoseKeyCbor;
20
- var CoseSign1Json = kmp_mdoc_core_1.com.sphereon.crypto.cose.CoseSign1Json;
21
- var CoseCryptoServiceJS = kmp_mdoc_core_1.com.sphereon.crypto.CoseCryptoServiceJS;
22
- var CoseJoseKeyMappingService = kmp_mdoc_core_1.com.sphereon.crypto.CoseJoseKeyMappingService;
23
- var KeyInfo = kmp_mdoc_core_1.com.sphereon.crypto.KeyInfo;
24
- var DateTimeUtils = kmp_mdoc_core_1.com.sphereon.kmp.DateTimeUtils;
25
- var decodeFrom = kmp_mdoc_core_1.com.sphereon.kmp.decodeFrom;
26
- var encodeTo = kmp_mdoc_core_1.com.sphereon.kmp.encodeTo;
27
- var Encoding = kmp_mdoc_core_1.com.sphereon.kmp.Encoding;
28
- var DeviceResponseCbor = kmp_mdoc_core_1.com.sphereon.mdoc.data.device.DeviceResponseCbor;
29
- var MdocValidations = kmp_mdoc_core_1.com.sphereon.mdoc.data.MdocValidations;
30
- var MdocOid4vpService = kmp_mdoc_core_1.com.sphereon.mdoc.oid4vp.MdocOid4vpServiceJs;
31
- var Oid4VPPresentationSubmission = kmp_mdoc_core_1.com.sphereon.mdoc.oid4vp.Oid4VPPresentationSubmission;
32
- exports.mdocSupportMethods = [
1
+ import { com } from '@sphereon/kmp-mdoc-core';
2
+ import { calculateJwkThumbprint } from '@sphereon/ssi-sdk-ext.key-utils';
3
+ import { getCertificateInfo, pemOrDerToX509Certificate } from '@sphereon/ssi-sdk-ext.x509-utils';
4
+ import { schema } from '..';
5
+ import { CoseCryptoService, X509CallbackService } from '../functions';
6
+ var CborByteString = com.sphereon.cbor.CborByteString;
7
+ var CoseKeyCbor = com.sphereon.crypto.cose.CoseKeyCbor;
8
+ var CoseSign1Json = com.sphereon.crypto.cose.CoseSign1Json;
9
+ var CoseCryptoServiceJS = com.sphereon.crypto.CoseCryptoServiceJS;
10
+ var CoseJoseKeyMappingService = com.sphereon.crypto.CoseJoseKeyMappingService;
11
+ var KeyInfo = com.sphereon.crypto.KeyInfo;
12
+ var DateTimeUtils = com.sphereon.kmp.DateTimeUtils;
13
+ var decodeFrom = com.sphereon.kmp.decodeFrom;
14
+ var encodeTo = com.sphereon.kmp.encodeTo;
15
+ var Encoding = com.sphereon.kmp.Encoding;
16
+ var DeviceResponseCbor = com.sphereon.mdoc.data.device.DeviceResponseCbor;
17
+ var MdocValidations = com.sphereon.mdoc.data.MdocValidations;
18
+ var MdocOid4vpService = com.sphereon.mdoc.oid4vp.MdocOid4vpServiceJs;
19
+ var Oid4VPPresentationSubmission = com.sphereon.mdoc.oid4vp.Oid4VPPresentationSubmission;
20
+ export const mdocSupportMethods = [
33
21
  'x509VerifyCertificateChain',
34
22
  'x509GetCertificateInfo',
35
23
  'mdocVerifyIssuerSigned',
36
24
  'mdocOid4vpHolderPresent',
37
- 'mdocOid4vpRPVerify'
25
+ 'mdocOid4vpRPVerify',
38
26
  ];
39
27
  /**
40
28
  * The MDLMdoc class implements the IAgentPlugin interface, providing methods for
41
29
  * verification and information retrieval related to X.509 certificates and mDL (mobile
42
30
  * driver's license) documents.
43
31
  */
44
- class MDLMdoc {
32
+ export class MDLMdoc {
33
+ schema = schema.IMDLMdoc;
34
+ methods = {
35
+ x509VerifyCertificateChain: this.x509VerifyCertificateChain.bind(this),
36
+ x509GetCertificateInfo: this.x509GetCertificateInfo.bind(this),
37
+ mdocVerifyIssuerSigned: this.mdocVerifyIssuerSigned.bind(this),
38
+ mdocOid4vpHolderPresent: this.mdocOid4vpHolderPresent.bind(this),
39
+ mdocOid4vpRPVerify: this.mdocOid4vpRPVerify.bind(this),
40
+ };
41
+ trustAnchors;
42
+ opts;
45
43
  constructor(args) {
46
- var _a, _b;
47
- this.schema = __1.schema.IMDLMdoc;
48
- this.methods = {
49
- x509VerifyCertificateChain: this.x509VerifyCertificateChain.bind(this),
50
- x509GetCertificateInfo: this.x509GetCertificateInfo.bind(this),
51
- mdocVerifyIssuerSigned: this.mdocVerifyIssuerSigned.bind(this),
52
- mdocOid4vpHolderPresent: this.mdocOid4vpHolderPresent.bind(this),
53
- mdocOid4vpRPVerify: this.mdocOid4vpRPVerify.bind(this)
54
- };
55
- this.trustAnchors = (_a = args === null || args === void 0 ? void 0 : args.trustAnchors) !== null && _a !== void 0 ? _a : [];
56
- this.opts = (_b = args === null || args === void 0 ? void 0 : args.opts) !== null && _b !== void 0 ? _b : { trustRootWhenNoAnchors: true };
44
+ this.trustAnchors = args?.trustAnchors ?? [];
45
+ this.opts = args?.opts ?? { trustRootWhenNoAnchors: true };
57
46
  }
58
47
  /**
59
48
  * Processes and verifies the provided mdoc, generates device response and presentation submission tokens.
@@ -62,83 +51,79 @@ class MDLMdoc {
62
51
  * @param {IRequiredContext} _context - Required context for the operation.
63
52
  * @return {Promise<MdocOid4VPPresentationAuth>} A promise that resolves to an object containing vp_token and presentation_submission.
64
53
  */
65
- mdocOid4vpHolderPresent(args, _context) {
66
- return __awaiter(this, void 0, void 0, function* () {
67
- var _a, _b, _c, _d, _e, _f;
68
- const { mdocs, presentationDefinition, trustAnchors, verifications, mdocHolderNonce, authorizationRequestNonce, responseUri, clientId } = args;
69
- const oid4vpService = new MdocOid4vpService();
70
- // const mdoc = DocumentCbor.Static.cborDecode(decodeFrom(mdocBase64Url, Encoding.BASE64URL))
71
- const validate = (mdoc) => __awaiter(this, void 0, void 0, function* () {
72
- var _a, _b;
73
- try {
74
- const result = yield MdocValidations.fromDocumentAsync(mdoc, null, trustAnchors !== null && trustAnchors !== void 0 ? trustAnchors : this.trustAnchors, DateTimeUtils.Static.DEFAULT.dateTimeLocal(((_b = (_a = verifications === null || verifications === void 0 ? void 0 : verifications.verificationTime) === null || _a === void 0 ? void 0 : _a.getTime()) !== null && _b !== void 0 ? _b : Date.now()) / 1000), verifications === null || verifications === void 0 ? void 0 : verifications.allowExpiredDocuments);
75
- if (result.error) {
76
- console.log(JSON.stringify(result, null, 2));
77
- }
78
- return result;
79
- }
80
- catch (e) {
81
- console.log(e);
82
- return {
83
- error: true,
84
- verifications: [
85
- {
86
- name: 'mdoc',
87
- error: true,
88
- critical: true,
89
- message: e.message
90
- }
91
- ]
92
- };
54
+ async mdocOid4vpHolderPresent(args, _context) {
55
+ const { mdocs, presentationDefinition, trustAnchors, verifications, mdocHolderNonce, authorizationRequestNonce, responseUri, clientId } = args;
56
+ const oid4vpService = new MdocOid4vpService();
57
+ // const mdoc = DocumentCbor.Static.cborDecode(decodeFrom(mdocBase64Url, Encoding.BASE64URL))
58
+ const validate = async (mdoc) => {
59
+ try {
60
+ const result = await MdocValidations.fromDocumentAsync(mdoc, null, trustAnchors ?? this.trustAnchors, DateTimeUtils.Static.DEFAULT.dateTimeLocal((verifications?.verificationTime?.getTime() ?? Date.now()) / 1000), verifications?.allowExpiredDocuments);
61
+ if (result.error) {
62
+ console.log(JSON.stringify(result, null, 2));
93
63
  }
94
- });
95
- const allMatches = oid4vpService.matchDocumentsAndDescriptors(mdocHolderNonce, mdocs, presentationDefinition);
96
- const docsAndDescriptors = [];
97
- let lastError = undefined;
98
- for (let match of allMatches) {
99
- if (match.document) {
100
- const result = yield validate(match.document);
101
- if (!result.error || responseUri.includes('openid.net')) {
102
- // TODO: We relax for the conformance suite, as the cert would be invalid
103
- try {
104
- const cborKey = ((_a = result.keyInfo) === null || _a === void 0 ? void 0 : _a.key) ? CoseKeyCbor.Static.fromDTO(result.keyInfo.key) : undefined;
105
- if (!cborKey) {
106
- throw Error('No key found in result');
107
- }
108
- let jwk = CoseJoseKeyMappingService.toJoseJwk(cborKey).toJsonDTO();
109
- if (!((_b = result.keyInfo) === null || _b === void 0 ? void 0 : _b.kmsKeyRef)) {
110
- const keyInfo = result.keyInfo;
111
- const kid = (_c = jwk.kid) !== null && _c !== void 0 ? _c : (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk: jwk });
112
- const key = yield _context.agent.keyManagerGet({ kid });
113
- const kms = key.kms;
114
- const kmsKeyRef = (_d = key.meta) === null || _d === void 0 ? void 0 : _d.kmsKeyRef;
115
- const updateCborKey = cborKey.copy(false, cborKey.kty, (_e = cborKey.kid) !== null && _e !== void 0 ? _e : new CborByteString(decodeFrom(kid, Encoding.UTF8)));
116
- const deviceKeyInfo = KeyInfo.Static.fromDTO(keyInfo).copy(kid, updateCborKey, keyInfo.opts, keyInfo.keyVisibility, keyInfo.signatureAlgorithm, keyInfo.x5c, kmsKeyRef, kms);
117
- const updateMatch = match.copy(match.inputDescriptor, match.document, match.documentError, deviceKeyInfo);
118
- match = updateMatch;
119
- }
64
+ return result;
65
+ }
66
+ catch (e) {
67
+ console.log(e);
68
+ return {
69
+ error: true,
70
+ verifications: [
71
+ {
72
+ name: 'mdoc',
73
+ error: true,
74
+ critical: true,
75
+ message: e.message,
76
+ },
77
+ ],
78
+ };
79
+ }
80
+ };
81
+ const allMatches = oid4vpService.matchDocumentsAndDescriptors(mdocHolderNonce, mdocs, presentationDefinition);
82
+ const docsAndDescriptors = [];
83
+ let lastError = undefined;
84
+ for (let match of allMatches) {
85
+ if (match.document) {
86
+ const result = await validate(match.document);
87
+ if (!result.error || responseUri.includes('openid.net')) {
88
+ // TODO: We relax for the conformance suite, as the cert would be invalid
89
+ try {
90
+ const cborKey = result.keyInfo?.key ? CoseKeyCbor.Static.fromDTO(result.keyInfo.key) : undefined;
91
+ if (!cborKey) {
92
+ throw Error('No key found in result');
120
93
  }
121
- catch (e) {
122
- console.log(`We tied to ammend key info from the KMS, but failed. Potential trouble ahead ${e.message}`, e);
94
+ let jwk = CoseJoseKeyMappingService.toJoseJwk(cborKey).toJsonDTO();
95
+ if (!result.keyInfo?.kmsKeyRef) {
96
+ const keyInfo = result.keyInfo;
97
+ const kid = jwk.kid ?? calculateJwkThumbprint({ jwk: jwk });
98
+ const key = await _context.agent.keyManagerGet({ kid });
99
+ const kms = key.kms;
100
+ const kmsKeyRef = key.meta?.kmsKeyRef;
101
+ const updateCborKey = cborKey.copy(false, cborKey.kty, cborKey.kid ?? new CborByteString(decodeFrom(kid, Encoding.UTF8)));
102
+ const deviceKeyInfo = KeyInfo.Static.fromDTO(keyInfo).copy(kid, updateCborKey, keyInfo.opts, keyInfo.keyVisibility, keyInfo.signatureAlgorithm, keyInfo.x5c, kmsKeyRef, kms);
103
+ const updateMatch = match.copy(match.inputDescriptor, match.document, match.documentError, deviceKeyInfo);
104
+ match = updateMatch;
123
105
  }
124
- docsAndDescriptors.push(match);
125
106
  }
126
- else if (result.error) {
127
- lastError = result;
107
+ catch (e) {
108
+ console.log(`We tied to ammend key info from the KMS, but failed. Potential trouble ahead ${e.message}`, e);
128
109
  }
110
+ docsAndDescriptors.push(match);
129
111
  }
130
- }
131
- if (docsAndDescriptors.length === 0) {
132
- if (lastError) {
133
- return Promise.reject(Error((_f = lastError.verifications[0].message) !== null && _f !== void 0 ? _f : 'No matching documents found'));
112
+ else if (result.error) {
113
+ lastError = result;
134
114
  }
135
- return Promise.reject(Error('No matching documents found'));
136
115
  }
137
- const deviceResponse = yield oid4vpService.createDeviceResponse(docsAndDescriptors, presentationDefinition, clientId, responseUri, authorizationRequestNonce);
138
- const vp_token = encodeTo(deviceResponse.cborEncode(), Encoding.BASE64URL);
139
- const presentation_submission = Oid4VPPresentationSubmission.Static.fromPresentationDefinition(presentationDefinition);
140
- return { vp_token, presentation_submission };
141
- });
116
+ }
117
+ if (docsAndDescriptors.length === 0) {
118
+ if (lastError) {
119
+ return Promise.reject(Error(lastError.verifications[0].message ?? 'No matching documents found'));
120
+ }
121
+ return Promise.reject(Error('No matching documents found'));
122
+ }
123
+ const deviceResponse = await oid4vpService.createDeviceResponse(docsAndDescriptors, presentationDefinition, clientId, responseUri, authorizationRequestNonce);
124
+ const vp_token = encodeTo(deviceResponse.cborEncode(), Encoding.BASE64URL);
125
+ const presentation_submission = Oid4VPPresentationSubmission.Static.fromPresentationDefinition(presentationDefinition);
126
+ return { vp_token, presentation_submission };
142
127
  }
143
128
  /**
144
129
  * Verifies on the Relying Party (RP) side for mdoc (mobile document) OIDC4VP (OpenID Connect for Verifiable Presentations).
@@ -148,54 +133,52 @@ class MDLMdoc {
148
133
  * @return {Promise<MdocOid4vpRPVerifyResult>} - A promise that resolves to an object containing error status,
149
134
  * validated documents, and the original presentation submission.
150
135
  */
151
- mdocOid4vpRPVerify(args, _context) {
152
- return __awaiter(this, void 0, void 0, function* () {
153
- const { vp_token, presentation_submission, trustAnchors } = args;
154
- const deviceResponse = DeviceResponseCbor.Static.cborDecode(decodeFrom(vp_token, Encoding.BASE64URL));
155
- if (!deviceResponse.documents) {
156
- return Promise.reject(Error(`No documents found in vp_token`));
157
- }
158
- let error = false;
159
- const documents = yield Promise.all(deviceResponse.documents.map((document) => __awaiter(this, void 0, void 0, function* () {
160
- try {
161
- const validations = yield MdocValidations.fromDocumentAsync(document, null, trustAnchors !== null && trustAnchors !== void 0 ? trustAnchors : this.trustAnchors);
162
- if (!validations || validations.error) {
163
- error = true;
164
- }
165
- if (presentation_submission.descriptor_map.find((m) => m.id === document.docType.value) === null) {
166
- error = true;
167
- validations.verifications.push({
168
- name: 'mdoc',
169
- error,
170
- critical: error,
171
- message: `No descriptor map id with document type ${document.docType.value} present`
172
- });
173
- }
174
- return { document: document.toJson(), validations };
136
+ async mdocOid4vpRPVerify(args, _context) {
137
+ const { vp_token, presentation_submission, trustAnchors } = args;
138
+ const deviceResponse = DeviceResponseCbor.Static.cborDecode(decodeFrom(vp_token, Encoding.BASE64URL));
139
+ if (!deviceResponse.documents) {
140
+ return Promise.reject(Error(`No documents found in vp_token`));
141
+ }
142
+ let error = false;
143
+ const documents = await Promise.all(deviceResponse.documents.map(async (document) => {
144
+ try {
145
+ const validations = await MdocValidations.fromDocumentAsync(document, null, trustAnchors ?? this.trustAnchors);
146
+ if (!validations || validations.error) {
147
+ error = true;
175
148
  }
176
- catch (e) {
149
+ if (presentation_submission.descriptor_map.find((m) => m.id === document.docType.value) === null) {
177
150
  error = true;
178
- return {
179
- document: document.toJson(),
180
- validations: {
181
- error: true,
182
- verifications: [
183
- {
184
- name: 'mdoc',
185
- error,
186
- critical: true,
187
- message: e.message
188
- }
189
- ]
190
- }
191
- };
151
+ validations.verifications.push({
152
+ name: 'mdoc',
153
+ error,
154
+ critical: error,
155
+ message: `No descriptor map id with document type ${document.docType.value} present`,
156
+ });
192
157
  }
193
- })));
194
- if (error) {
195
- console.log(JSON.stringify(documents, null, 2));
158
+ return { document: document.toJson(), validations };
196
159
  }
197
- return { error, documents, presentation_submission };
198
- });
160
+ catch (e) {
161
+ error = true;
162
+ return {
163
+ document: document.toJson(),
164
+ validations: {
165
+ error: true,
166
+ verifications: [
167
+ {
168
+ name: 'mdoc',
169
+ error,
170
+ critical: true,
171
+ message: e.message,
172
+ },
173
+ ],
174
+ },
175
+ };
176
+ }
177
+ }));
178
+ if (error) {
179
+ console.log(JSON.stringify(documents, null, 2));
180
+ }
181
+ return { error, documents, presentation_submission };
199
182
  }
200
183
  /**
201
184
  * Verifies the issuer-signed Mobile Document (mDoc) using the provided arguments and context.
@@ -204,13 +187,11 @@ class MDLMdoc {
204
187
  * @param {IRequiredContext} context - The context encompassing necessary dependencies and configurations.
205
188
  * @return {Promise<IVerifySignatureResult<KeyType>>} A promise that resolves to the result of the signature verification, including key information if available.
206
189
  */
207
- mdocVerifyIssuerSigned(args, context) {
208
- return __awaiter(this, void 0, void 0, function* () {
209
- const { input, keyInfo, requireX5Chain } = args;
210
- const coseKeyInfo = keyInfo && CoseJoseKeyMappingService.toCoseKeyInfo(keyInfo);
211
- const verification = yield new CoseCryptoServiceJS(new functions_1.CoseCryptoService(context)).verify1(CoseSign1Json.Static.fromDTO(input).toCbor(), coseKeyInfo, requireX5Chain);
212
- return Object.assign(Object.assign({}, verification), { keyInfo: keyInfo });
213
- });
190
+ async mdocVerifyIssuerSigned(args, context) {
191
+ const { input, keyInfo, requireX5Chain } = args;
192
+ const coseKeyInfo = keyInfo && CoseJoseKeyMappingService.toCoseKeyInfo(keyInfo);
193
+ const verification = await new CoseCryptoServiceJS(new CoseCryptoService(context)).verify1(CoseSign1Json.Static.fromDTO(input).toCbor(), coseKeyInfo, requireX5Chain);
194
+ return { ...verification, keyInfo: keyInfo };
214
195
  }
215
196
  /**
216
197
  * Verifies an X.509 certificate chain against a set of trust anchors.
@@ -220,15 +201,16 @@ class MDLMdoc {
220
201
  * @param {IRequiredContext} _context - The context required for verification, including necessary dependencies and settings.
221
202
  * @return {Promise<X509ValidationResult>} A promise that resolves to the result of the validation process, indicating the success or failure of the certificate chain verification.
222
203
  */
223
- x509VerifyCertificateChain(args, _context) {
224
- return __awaiter(this, void 0, void 0, function* () {
225
- var _a;
226
- const mergedAnchors = [...this.trustAnchors, ...((_a = args.trustAnchors) !== null && _a !== void 0 ? _a : [])];
227
- const trustAnchors = new Set(mergedAnchors);
228
- const validationResult = yield new functions_1.X509CallbackService(Array.from(mergedAnchors)).verifyCertificateChain(Object.assign(Object.assign({}, args), { trustAnchors: Array.from(trustAnchors), opts: Object.assign(Object.assign({}, args === null || args === void 0 ? void 0 : args.opts), this.opts) }));
229
- console.log(`x509 validation for ${validationResult.error ? 'Error' : 'Success'}. message: ${validationResult.message}, details: ${validationResult.detailMessage}`);
230
- return validationResult;
204
+ async x509VerifyCertificateChain(args, _context) {
205
+ const mergedAnchors = [...this.trustAnchors, ...(args.trustAnchors ?? [])];
206
+ const trustAnchors = new Set(mergedAnchors);
207
+ const validationResult = await new X509CallbackService(Array.from(mergedAnchors)).verifyCertificateChain({
208
+ ...args,
209
+ trustAnchors: Array.from(trustAnchors),
210
+ opts: { ...args?.opts, ...this.opts },
231
211
  });
212
+ console.log(`x509 validation for ${validationResult.error ? 'Error' : 'Success'}. message: ${validationResult.message}, details: ${validationResult.detailMessage}`);
213
+ return validationResult;
232
214
  }
233
215
  /**
234
216
  * Extracts information from a list of X509 certificates.
@@ -240,12 +222,9 @@ class MDLMdoc {
240
222
  * @return {Promise<CertificateInfo[]>} A promise that resolves with an array of certificate
241
223
  * information objects, each containing details extracted from individual certificates.
242
224
  */
243
- x509GetCertificateInfo(args, context) {
244
- return __awaiter(this, void 0, void 0, function* () {
245
- const certificates = args.certificates.map((cert) => (0, ssi_sdk_ext_x509_utils_1.pemOrDerToX509Certificate)(cert));
246
- return yield Promise.all(certificates.map((cert) => (0, ssi_sdk_ext_x509_utils_1.getCertificateInfo)(cert, args.sanTypeFilter && { sanTypeFilter: args.sanTypeFilter })));
247
- });
225
+ async x509GetCertificateInfo(args, context) {
226
+ const certificates = args.certificates.map((cert) => pemOrDerToX509Certificate(cert));
227
+ return await Promise.all(certificates.map((cert) => getCertificateInfo(cert, args.sanTypeFilter && { sanTypeFilter: args.sanTypeFilter })));
248
228
  }
249
229
  }
250
- exports.MDLMdoc = MDLMdoc;
251
230
  //# sourceMappingURL=mDLMdoc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mDLMdoc.js","sourceRoot":"","sources":["../../src/agent/mDLMdoc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mDLMdoc.js","sourceRoot":"","sources":["../../src/agent/mDLMdoc.ts"],"names":[],"mappings":"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"}
@@ -1,155 +1,115 @@
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.X509CallbackService = exports.CoseCryptoService = void 0;
36
- const kmp_mdoc_core_1 = require("@sphereon/kmp-mdoc-core");
37
- const ssi_sdk_ext_key_utils_1 = require("@sphereon/ssi-sdk-ext.key-utils");
38
- const ssi_sdk_ext_x509_utils_1 = require("@sphereon/ssi-sdk-ext.x509-utils");
39
- const crypto = __importStar(require("crypto"));
40
- const pkijs_1 = require("pkijs");
41
- const u8a = __importStar(require("uint8arrays"));
42
- var CoseKeyCbor = kmp_mdoc_core_1.com.sphereon.crypto.cose.CoseKeyCbor;
43
- var CoseJoseKeyMappingService = kmp_mdoc_core_1.com.sphereon.crypto.CoseJoseKeyMappingService;
44
- var DefaultCallbacks = kmp_mdoc_core_1.com.sphereon.crypto.DefaultCallbacks;
45
- var SignatureAlgorithm = kmp_mdoc_core_1.com.sphereon.crypto.generic.SignatureAlgorithm;
46
- var KeyInfo = kmp_mdoc_core_1.com.sphereon.crypto.KeyInfo;
47
- var ResolvedKeyInfo = kmp_mdoc_core_1.com.sphereon.crypto.ResolvedKeyInfo;
48
- var DateTimeUtils = kmp_mdoc_core_1.com.sphereon.kmp.DateTimeUtils;
49
- var decodeFrom = kmp_mdoc_core_1.com.sphereon.kmp.decodeFrom;
50
- var encodeTo = kmp_mdoc_core_1.com.sphereon.kmp.encodeTo;
51
- var Encoding = kmp_mdoc_core_1.com.sphereon.kmp.Encoding;
52
- class CoseCryptoService {
1
+ import { com } from '@sphereon/kmp-mdoc-core';
2
+ import { calculateJwkThumbprint, globalCrypto, verifyRawSignature } from '@sphereon/ssi-sdk-ext.key-utils';
3
+ import { derToPEM, getCertificateInfo, getSubjectDN, pemOrDerToX509Certificate, validateX509CertificateChain, } from '@sphereon/ssi-sdk-ext.x509-utils';
4
+ import * as crypto from 'crypto';
5
+ import { CryptoEngine, setEngine } from 'pkijs';
6
+ import * as u8a from 'uint8arrays';
7
+ var CoseKeyCbor = com.sphereon.crypto.cose.CoseKeyCbor;
8
+ var CoseJoseKeyMappingService = com.sphereon.crypto.CoseJoseKeyMappingService;
9
+ var DefaultCallbacks = com.sphereon.crypto.DefaultCallbacks;
10
+ var SignatureAlgorithm = com.sphereon.crypto.generic.SignatureAlgorithm;
11
+ var KeyInfo = com.sphereon.crypto.KeyInfo;
12
+ var ResolvedKeyInfo = com.sphereon.crypto.ResolvedKeyInfo;
13
+ var DateTimeUtils = com.sphereon.kmp.DateTimeUtils;
14
+ var decodeFrom = com.sphereon.kmp.decodeFrom;
15
+ var encodeTo = com.sphereon.kmp.encodeTo;
16
+ var Encoding = com.sphereon.kmp.Encoding;
17
+ export class CoseCryptoService {
18
+ context;
53
19
  constructor(context) {
54
20
  this.context = context;
55
21
  }
56
22
  setContext(context) {
57
23
  this.context = context;
58
24
  }
59
- signAsync(input, requireX5Chain) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- var _a, _b, _c;
62
- if (!this.context) {
63
- throw Error('No context provided. Please provide a context with the setContext method or constructor');
25
+ async signAsync(input, requireX5Chain) {
26
+ if (!this.context) {
27
+ throw Error('No context provided. Please provide a context with the setContext method or constructor');
28
+ }
29
+ const { keyInfo, alg, value } = input;
30
+ let kmsKeyRef = keyInfo.kmsKeyRef ?? undefined;
31
+ if (!kmsKeyRef) {
32
+ const key = keyInfo.key;
33
+ if (key == null) {
34
+ return Promise.reject(Error('No key present in keyInfo. This implementation cannot sign without a key!'));
64
35
  }
65
- const { keyInfo, alg, value } = input;
66
- let kmsKeyRef = (_a = keyInfo.kmsKeyRef) !== null && _a !== void 0 ? _a : undefined;
67
- if (!kmsKeyRef) {
68
- const key = keyInfo.key;
69
- if (key == null) {
70
- return Promise.reject(Error('No key present in keyInfo. This implementation cannot sign without a key!'));
71
- }
72
- const resolvedKeyInfo = ResolvedKeyInfo.Static.fromKeyInfo(keyInfo, key);
73
- const jwkKeyInfo = CoseJoseKeyMappingService.toResolvedJwkKeyInfo(resolvedKeyInfo);
74
- const kid = (_c = (_b = jwkKeyInfo.kid) !== null && _b !== void 0 ? _b : (0, ssi_sdk_ext_key_utils_1.calculateJwkThumbprint)({ jwk: jwkKeyInfo.key.toJsonDTO() })) !== null && _c !== void 0 ? _c : jwkKeyInfo.key.getKidAsString(true);
75
- if (!kid) {
76
- return Promise.reject(Error('No kid present and not kmsKeyRef provided'));
77
- }
78
- kmsKeyRef = kid;
36
+ const resolvedKeyInfo = ResolvedKeyInfo.Static.fromKeyInfo(keyInfo, key);
37
+ const jwkKeyInfo = CoseJoseKeyMappingService.toResolvedJwkKeyInfo(resolvedKeyInfo);
38
+ const kid = jwkKeyInfo.kid ?? calculateJwkThumbprint({ jwk: jwkKeyInfo.key.toJsonDTO() }) ?? jwkKeyInfo.key.getKidAsString(true);
39
+ if (!kid) {
40
+ return Promise.reject(Error('No kid present and not kmsKeyRef provided'));
79
41
  }
80
- const result = yield this.context.agent.keyManagerSign({
81
- algorithm: alg.jose.value,
82
- data: encodeTo(value, Encoding.UTF8),
83
- encoding: 'utf-8',
84
- keyRef: kmsKeyRef,
85
- });
86
- return decodeFrom(result, Encoding.UTF8);
42
+ kmsKeyRef = kid;
43
+ }
44
+ const result = await this.context.agent.keyManagerSign({
45
+ algorithm: alg.jose.value,
46
+ data: encodeTo(value, Encoding.UTF8),
47
+ encoding: 'utf-8',
48
+ keyRef: kmsKeyRef,
87
49
  });
50
+ return decodeFrom(result, Encoding.UTF8);
88
51
  }
89
- verify1Async(input, keyInfo, requireX5Chain) {
90
- return __awaiter(this, void 0, void 0, function* () {
91
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
92
- const getCertAndKey = (x5c) => __awaiter(this, void 0, void 0, function* () {
93
- if (requireX5Chain && (!x5c || x5c.length === 0)) {
94
- // We should not be able to get here anyway, as the MLD-mdoc library already validated at this point. But let's make sure
95
- return Promise.reject(new Error(`No x5chain was present in the CoseSign headers!`));
96
- }
97
- // TODO: According to the IETF spec there should be a x5t in case the x5chain is in the protected headers. In the Funke this does not seem to be done/used!
98
- issuerCert = x5c ? (0, ssi_sdk_ext_x509_utils_1.pemOrDerToX509Certificate)(x5c[0]) : undefined;
99
- let issuerJwk;
100
- if (issuerCert) {
101
- const info = yield (0, ssi_sdk_ext_x509_utils_1.getCertificateInfo)(issuerCert);
102
- issuerJwk = info.publicKeyJWK;
103
- }
104
- return { issuerCert, issuerJwk };
105
- });
106
- const coseKeyInfo = CoseJoseKeyMappingService.toCoseKeyInfo(keyInfo);
107
- if ((_a = coseKeyInfo === null || coseKeyInfo === void 0 ? void 0 : coseKeyInfo.key) === null || _a === void 0 ? void 0 : _a.d) {
108
- throw Error('Do not use private keys to verify!');
109
- }
110
- else if (!((_b = input.payload) === null || _b === void 0 ? void 0 : _b.value)) {
111
- return Promise.reject(Error('Signature validation without payload not supported'));
52
+ async verify1Async(input, keyInfo, requireX5Chain) {
53
+ const getCertAndKey = async (x5c) => {
54
+ if (requireX5Chain && (!x5c || x5c.length === 0)) {
55
+ // We should not be able to get here anyway, as the MLD-mdoc library already validated at this point. But let's make sure
56
+ return Promise.reject(new Error(`No x5chain was present in the CoseSign headers!`));
112
57
  }
113
- const sign1Json = input.toJson(); // Let's make it a bit easier on ourselves, instead of working with CBOR
114
- const coseAlg = sign1Json.protectedHeader.alg;
115
- if (!coseAlg) {
116
- return Promise.reject(Error('No alg protected header present'));
58
+ // TODO: According to the IETF spec there should be a x5t in case the x5chain is in the protected headers. In the Funke this does not seem to be done/used!
59
+ issuerCert = x5c ? pemOrDerToX509Certificate(x5c[0]) : undefined;
60
+ let issuerJwk;
61
+ if (issuerCert) {
62
+ const info = await getCertificateInfo(issuerCert);
63
+ issuerJwk = info.publicKeyJWK;
117
64
  }
118
- let issuerCert;
119
- let issuerCoseKey;
120
- let kid = (_d = (_c = coseKeyInfo === null || coseKeyInfo === void 0 ? void 0 : coseKeyInfo.kid) !== null && _c !== void 0 ? _c : sign1Json.protectedHeader.kid) !== null && _d !== void 0 ? _d : (_e = sign1Json.unprotectedHeader) === null || _e === void 0 ? void 0 : _e.kid;
121
- // Please note this method does not perform chain validation. The MDL-MSO_MDOC library already performed this before this step
122
- const x5c = (_j = (_g = (_f = coseKeyInfo === null || coseKeyInfo === void 0 ? void 0 : coseKeyInfo.key) === null || _f === void 0 ? void 0 : _f.getX509CertificateChain()) !== null && _g !== void 0 ? _g : (_h = sign1Json.protectedHeader) === null || _h === void 0 ? void 0 : _h.x5chain) !== null && _j !== void 0 ? _j : (_k = sign1Json.unprotectedHeader) === null || _k === void 0 ? void 0 : _k.x5chain;
123
- if (!coseKeyInfo || !(coseKeyInfo === null || coseKeyInfo === void 0 ? void 0 : coseKeyInfo.key) || ((_l = coseKeyInfo === null || coseKeyInfo === void 0 ? void 0 : coseKeyInfo.key) === null || _l === void 0 ? void 0 : _l.x5chain)) {
124
- const certAndKey = yield getCertAndKey(x5c);
125
- issuerCoseKey = certAndKey.issuerJwk ? CoseJoseKeyMappingService.toCoseKey(certAndKey.issuerJwk) : undefined;
126
- issuerCert = certAndKey.issuerCert;
65
+ return { issuerCert, issuerJwk };
66
+ };
67
+ const coseKeyInfo = CoseJoseKeyMappingService.toCoseKeyInfo(keyInfo);
68
+ if (coseKeyInfo?.key?.d) {
69
+ throw Error('Do not use private keys to verify!');
70
+ }
71
+ else if (!input.payload?.value) {
72
+ return Promise.reject(Error('Signature validation without payload not supported'));
73
+ }
74
+ const sign1Json = input.toJson(); // Let's make it a bit easier on ourselves, instead of working with CBOR
75
+ const coseAlg = sign1Json.protectedHeader.alg;
76
+ if (!coseAlg) {
77
+ return Promise.reject(Error('No alg protected header present'));
78
+ }
79
+ let issuerCert;
80
+ let issuerCoseKey;
81
+ let kid = coseKeyInfo?.kid ?? sign1Json.protectedHeader.kid ?? sign1Json.unprotectedHeader?.kid;
82
+ // Please note this method does not perform chain validation. The MDL-MSO_MDOC library already performed this before this step
83
+ const x5c = coseKeyInfo?.key?.getX509CertificateChain() ?? sign1Json.protectedHeader?.x5chain ?? sign1Json.unprotectedHeader?.x5chain;
84
+ if (!coseKeyInfo || !coseKeyInfo?.key || coseKeyInfo?.key?.x5chain) {
85
+ const certAndKey = await getCertAndKey(x5c);
86
+ issuerCoseKey = certAndKey.issuerJwk ? CoseJoseKeyMappingService.toCoseKey(certAndKey.issuerJwk) : undefined;
87
+ issuerCert = certAndKey.issuerCert;
88
+ }
89
+ if (!issuerCoseKey) {
90
+ if (!coseKeyInfo?.key) {
91
+ return Promise.reject(Error(`Either a x5c needs to be in the headers, or you need to provide a key for verification`));
127
92
  }
128
- if (!issuerCoseKey) {
129
- if (!(coseKeyInfo === null || coseKeyInfo === void 0 ? void 0 : coseKeyInfo.key)) {
130
- return Promise.reject(Error(`Either a x5c needs to be in the headers, or you need to provide a key for verification`));
131
- }
132
- if (kid === null) {
133
- kid = coseKeyInfo.key.getKidAsString(false);
134
- }
135
- issuerCoseKey = CoseKeyCbor.Static.fromDTO(coseKeyInfo.key);
93
+ if (kid === null) {
94
+ kid = coseKeyInfo.key.getKidAsString(false);
136
95
  }
137
- const issuerCoseKeyInfo = new KeyInfo(kid, issuerCoseKey, coseKeyInfo.opts, coseKeyInfo.keyVisibility, (_m = issuerCoseKey.getSignatureAlgorithm()) !== null && _m !== void 0 ? _m : coseKeyInfo.signatureAlgorithm, x5c, coseKeyInfo.kmsKeyRef, coseKeyInfo.kms, (_o = coseKeyInfo.keyType) !== null && _o !== void 0 ? _o : issuerCoseKey.getKty());
138
- const recalculatedToBeSigned = input.toBeSignedJson(issuerCoseKeyInfo, SignatureAlgorithm.Static.fromCose(coseAlg));
139
- const key = CoseJoseKeyMappingService.toJoseJwk(issuerCoseKeyInfo.key).toJsonDTO();
140
- const valid = yield (0, ssi_sdk_ext_key_utils_1.verifyRawSignature)({
141
- data: u8a.fromString(recalculatedToBeSigned.base64UrlValue, 'base64url'),
142
- signature: u8a.fromString(sign1Json.signature, 'base64url'),
143
- key,
144
- });
145
- return {
146
- name: 'mdoc',
147
- critical: true,
148
- error: !valid,
149
- message: `Signature of '${issuerCert ? (0, ssi_sdk_ext_x509_utils_1.getSubjectDN)(issuerCert).DN : kid}' was ${valid ? '' : 'in'}valid`,
150
- keyInfo: issuerCoseKeyInfo,
151
- };
96
+ issuerCoseKey = CoseKeyCbor.Static.fromDTO(coseKeyInfo.key);
97
+ }
98
+ const issuerCoseKeyInfo = new KeyInfo(kid, issuerCoseKey, coseKeyInfo.opts, coseKeyInfo.keyVisibility, issuerCoseKey.getSignatureAlgorithm() ?? coseKeyInfo.signatureAlgorithm, x5c, coseKeyInfo.kmsKeyRef, coseKeyInfo.kms, coseKeyInfo.keyType ?? issuerCoseKey.getKty());
99
+ const recalculatedToBeSigned = input.toBeSignedJson(issuerCoseKeyInfo, SignatureAlgorithm.Static.fromCose(coseAlg));
100
+ const key = CoseJoseKeyMappingService.toJoseJwk(issuerCoseKeyInfo.key).toJsonDTO();
101
+ const valid = await verifyRawSignature({
102
+ data: u8a.fromString(recalculatedToBeSigned.base64UrlValue, 'base64url'),
103
+ signature: u8a.fromString(sign1Json.signature, 'base64url'),
104
+ key,
152
105
  });
106
+ return {
107
+ name: 'mdoc',
108
+ critical: true,
109
+ error: !valid,
110
+ message: `Signature of '${issuerCert ? getSubjectDN(issuerCert).DN : kid}' was ${valid ? '' : 'in'}valid`,
111
+ keyInfo: issuerCoseKeyInfo,
112
+ };
153
113
  }
154
114
  resolvePublicKeyAsync(keyInfo) {
155
115
  if (keyInfo.key) {
@@ -158,7 +118,6 @@ class CoseCryptoService {
158
118
  return Promise.reject(Error('No key present in keyInfo. This implementation cannot resolve public keys on its own currently!'));
159
119
  }
160
120
  }
161
- exports.CoseCryptoService = CoseCryptoService;
162
121
  /**
163
122
  * This class can be used for X509 validations.
164
123
  * Either have an instance per trustedCerts and verification invocation or use a single instance and provide the trusted certs in the method argument
@@ -166,18 +125,9 @@ exports.CoseCryptoService = CoseCryptoService;
166
125
  * The class is also registered with the low-level mDL/mdoc Kotlin Multiplatform library
167
126
  * Next to the specific function for the library it exports a more powerful version of the same verification method as well
168
127
  */
169
- class X509CallbackService {
128
+ export class X509CallbackService {
129
+ _trustedCerts;
170
130
  constructor(trustedCerts) {
171
- this.setTrustedCerts = (trustedCertsInPEM) => {
172
- this._trustedCerts = trustedCertsInPEM === null || trustedCertsInPEM === void 0 ? void 0 : trustedCertsInPEM.map((cert) => {
173
- if (cert.includes('CERTIFICATE')) {
174
- // PEM
175
- return cert;
176
- }
177
- return (0, ssi_sdk_ext_x509_utils_1.derToPEM)(cert);
178
- });
179
- };
180
- this.getTrustedCerts = () => this._trustedCerts;
181
131
  this.setTrustedCerts(trustedCerts);
182
132
  }
183
133
  /**
@@ -186,50 +136,54 @@ class X509CallbackService {
186
136
  * @param trustAnchors
187
137
  * @param verificationTime
188
138
  */
189
- verifyCertificateChain(_a) {
190
- return __awaiter(this, arguments, void 0, function* ({ chain, trustAnchors = this.getTrustedCerts(), verificationTime, opts, }) {
191
- return yield (0, ssi_sdk_ext_x509_utils_1.validateX509CertificateChain)({
192
- chain,
193
- trustAnchors,
194
- verificationTime,
195
- opts,
196
- });
139
+ async verifyCertificateChain({ chain, trustAnchors = this.getTrustedCerts(), verificationTime, opts, }) {
140
+ return await validateX509CertificateChain({
141
+ chain,
142
+ trustAnchors,
143
+ verificationTime,
144
+ opts,
197
145
  });
198
146
  }
199
147
  /**
200
148
  * This method is the implementation used within the mDL/Mdoc library
201
149
  */
202
- verifyCertificateChainJS(chainDER, chainPEM, trustedCerts, verificationProfile, verificationTime) {
203
- return __awaiter(this, void 0, void 0, function* () {
204
- var _a;
205
- const verificationAt = verificationTime !== null && verificationTime !== void 0 ? verificationTime : DateTimeUtils.Static.DEFAULT.dateTimeLocal();
206
- let chain = [];
207
- if (chainDER && chainDER.length > 0) {
208
- chain = chainDER.map((der) => Uint8Array.from(der));
209
- }
210
- if (chainPEM && chainPEM.length > 0) {
211
- chain = (chain !== null && chain !== void 0 ? chain : []).concat(chainPEM);
212
- }
213
- const result = yield (0, ssi_sdk_ext_x509_utils_1.validateX509CertificateChain)({
214
- chain: chain, // The function will handle an empty array
215
- trustAnchors: trustedCerts !== null && trustedCerts !== void 0 ? trustedCerts : this.getTrustedCerts(),
216
- verificationTime: new Date(verificationAt.toEpochSeconds().toULong() * 1000),
217
- opts: { trustRootWhenNoAnchors: true },
218
- });
219
- const cert = result.certificateChain ? result.certificateChain[result.certificateChain.length - 1] : undefined;
220
- return {
221
- publicKey: cert === null || cert === void 0 ? void 0 : cert.publicKeyJWK, // fixme
222
- publicKeyAlgorithm: (_a = cert === null || cert === void 0 ? void 0 : cert.publicKeyJWK) === null || _a === void 0 ? void 0 : _a.alg,
223
- name: 'x.509',
224
- critical: result.critical,
225
- message: result.message,
226
- error: result.error,
227
- verificationTime: verificationAt,
228
- };
150
+ async verifyCertificateChainJS(chainDER, chainPEM, trustedCerts, verificationProfile, verificationTime) {
151
+ const verificationAt = verificationTime ?? DateTimeUtils.Static.DEFAULT.dateTimeLocal();
152
+ let chain = [];
153
+ if (chainDER && chainDER.length > 0) {
154
+ chain = chainDER.map((der) => Uint8Array.from(der));
155
+ }
156
+ if (chainPEM && chainPEM.length > 0) {
157
+ chain = (chain ?? []).concat(chainPEM);
158
+ }
159
+ const result = await validateX509CertificateChain({
160
+ chain: chain, // The function will handle an empty array
161
+ trustAnchors: trustedCerts ?? this.getTrustedCerts(),
162
+ verificationTime: new Date(verificationAt.toEpochSeconds().toULong() * 1000),
163
+ opts: { trustRootWhenNoAnchors: true },
229
164
  });
165
+ const cert = result.certificateChain ? result.certificateChain[result.certificateChain.length - 1] : undefined;
166
+ return {
167
+ publicKey: cert?.publicKeyJWK, // fixme
168
+ publicKeyAlgorithm: cert?.publicKeyJWK?.alg,
169
+ name: 'x.509',
170
+ critical: result.critical,
171
+ message: result.message,
172
+ error: result.error,
173
+ verificationTime: verificationAt,
174
+ };
230
175
  }
176
+ setTrustedCerts = (trustedCertsInPEM) => {
177
+ this._trustedCerts = trustedCertsInPEM?.map((cert) => {
178
+ if (cert.includes('CERTIFICATE')) {
179
+ // PEM
180
+ return cert;
181
+ }
182
+ return derToPEM(cert);
183
+ });
184
+ };
185
+ getTrustedCerts = () => this._trustedCerts;
231
186
  }
232
- exports.X509CallbackService = X509CallbackService;
233
187
  const defaultCryptoEngine = () => {
234
188
  if (typeof self !== 'undefined') {
235
189
  if ('crypto' in self) {
@@ -238,19 +192,19 @@ const defaultCryptoEngine = () => {
238
192
  engineName = 'safari';
239
193
  }
240
194
  // @ts-ignore
241
- (0, pkijs_1.setEngine)(engineName, new pkijs_1.CryptoEngine({ name: engineName, crypto: crypto }));
195
+ setEngine(engineName, new CryptoEngine({ name: engineName, crypto: crypto }));
242
196
  }
243
197
  }
244
198
  else if (typeof crypto !== 'undefined' && 'webcrypto' in crypto) {
245
199
  const name = 'NodeJS ^15';
246
200
  const nodeCrypto = crypto.webcrypto;
247
201
  // @ts-ignore
248
- (0, pkijs_1.setEngine)(name, new pkijs_1.CryptoEngine({ name, crypto: nodeCrypto }));
202
+ setEngine(name, new CryptoEngine({ name, crypto: nodeCrypto }));
249
203
  }
250
204
  else {
251
205
  // @ts-ignore
252
206
  const name = 'crypto';
253
- (0, pkijs_1.setEngine)(name, new pkijs_1.CryptoEngine({ name, crypto: (0, ssi_sdk_ext_key_utils_1.globalCrypto)(false) }));
207
+ setEngine(name, new CryptoEngine({ name, crypto: globalCrypto(false) }));
254
208
  }
255
209
  };
256
210
  defaultCryptoEngine();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/functions/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,27 +1,8 @@
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.mdocSupportMethods = exports.MDLMdoc = exports.schema = exports.logger = void 0;
18
- const ssi_types_1 = require("@sphereon/ssi-types");
19
- exports.logger = ssi_types_1.Loggers.DEFAULT.get('sphereon:mdoc');
1
+ import { Loggers } from '@sphereon/ssi-types';
2
+ export const logger = Loggers.DEFAULT.get('sphereon:mdoc');
20
3
  const schema = require('../plugin.schema.json');
21
- exports.schema = schema;
22
- var mDLMdoc_1 = require("./agent/mDLMdoc");
23
- Object.defineProperty(exports, "MDLMdoc", { enumerable: true, get: function () { return mDLMdoc_1.MDLMdoc; } });
24
- Object.defineProperty(exports, "mdocSupportMethods", { enumerable: true, get: function () { return mDLMdoc_1.mdocSupportMethods; } });
25
- __exportStar(require("./types/ImDLMdoc"), exports);
26
- __exportStar(require("./functions"), exports);
4
+ export { schema };
5
+ export { MDLMdoc, mdocSupportMethods } from './agent/mDLMdoc';
6
+ export * from './types/ImDLMdoc';
7
+ export * from './functions';
27
8
  //# 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,mDAA6C;AAEhC,QAAA,MAAM,GAAG,mBAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;AACtC,wBAAM;AACf,2CAA6D;AAApD,kGAAA,OAAO,OAAA;AAAE,6GAAA,kBAAkB,OAAA;AACpC,mDAAgC;AAChC,8CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAE7C,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;AAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC7D,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA"}
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=ImDLMdoc.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.mdl-mdoc",
3
- "version": "0.32.1-next.54+3b988a2b",
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",
@@ -14,15 +14,15 @@
14
14
  "build:clean": "tsc --build --clean && tsc --build"
15
15
  },
16
16
  "dependencies": {
17
- "@sphereon/did-auth-siop": "0.16.1-next.339",
17
+ "@sphereon/did-auth-siop-adapter": "0.17.0",
18
18
  "@sphereon/kmp-mdoc-core": "0.2.0-SNAPSHOT.26",
19
19
  "@sphereon/pex": "5.0.0-unstable.28",
20
20
  "@sphereon/pex-models": "^2.3.2",
21
- "@sphereon/ssi-sdk-ext.did-utils": "0.27.0",
22
- "@sphereon/ssi-sdk-ext.key-utils": "0.27.0",
23
- "@sphereon/ssi-sdk-ext.x509-utils": "0.27.0",
24
- "@sphereon/ssi-sdk.core": "0.32.1-next.54+3b988a2b",
25
- "@sphereon/ssi-types": "0.32.1-next.54+3b988a2b",
21
+ "@sphereon/ssi-sdk-ext.did-utils": "0.28.0",
22
+ "@sphereon/ssi-sdk-ext.key-utils": "0.28.0",
23
+ "@sphereon/ssi-sdk-ext.x509-utils": "0.28.0",
24
+ "@sphereon/ssi-sdk.core": "0.33.1-feature.vcdm2.4+9f634bdb",
25
+ "@sphereon/ssi-types": "0.33.1-feature.vcdm2.4+9f634bdb",
26
26
  "@veramo/core": "4.2.0",
27
27
  "@veramo/did-manager": "4.2.0",
28
28
  "@veramo/utils": "4.2.0",
@@ -35,14 +35,14 @@
35
35
  "uuid": "^9.0.1"
36
36
  },
37
37
  "devDependencies": {
38
- "@sphereon/oid4vci-client": "0.16.1-next.339",
39
- "@sphereon/oid4vci-common": "0.16.1-next.339",
40
- "@sphereon/ssi-express-support": "0.32.1-next.54+3b988a2b",
41
- "@sphereon/ssi-sdk-ext.key-manager": "0.27.0",
42
- "@sphereon/ssi-sdk-ext.kms-local": "0.27.0",
43
- "@sphereon/ssi-sdk.agent-config": "0.32.1-next.54+3b988a2b",
44
- "@sphereon/ssi-sdk.data-store": "0.32.1-next.54+3b988a2b",
45
- "@sphereon/ssi-sdk.public-key-hosting": "0.32.1-next.54+3b988a2b",
38
+ "@sphereon/oid4vci-client": "0.17.0",
39
+ "@sphereon/oid4vci-common": "0.17.0",
40
+ "@sphereon/ssi-express-support": "0.33.1-feature.vcdm2.4+9f634bdb",
41
+ "@sphereon/ssi-sdk-ext.key-manager": "0.28.0",
42
+ "@sphereon/ssi-sdk-ext.kms-local": "0.28.0",
43
+ "@sphereon/ssi-sdk.agent-config": "0.33.1-feature.vcdm2.4+9f634bdb",
44
+ "@sphereon/ssi-sdk.data-store": "0.33.1-feature.vcdm2.4+9f634bdb",
45
+ "@sphereon/ssi-sdk.public-key-hosting": "0.33.1-feature.vcdm2.4+9f634bdb",
46
46
  "@transmute/json-web-signature": "0.7.0-unstable.81",
47
47
  "@types/cors": "^2.8.17",
48
48
  "@types/express": "^4.17.21",
@@ -57,7 +57,7 @@
57
57
  "cors": "^2.8.5",
58
58
  "express": "^4.19.2",
59
59
  "jose": "^5.6.3",
60
- "typeorm": "^0.3.20"
60
+ "typeorm": "^0.3.21"
61
61
  },
62
62
  "files": [
63
63
  "plugin.schema.json",
@@ -78,5 +78,5 @@
78
78
  "EBSI Authorization Client"
79
79
  ],
80
80
  "nx": {},
81
- "gitHead": "3b988a2bb62a7c4534a2670ea3a0985fd93d00f2"
81
+ "gitHead": "9f634bdb714061141e277508c124b08d626f6036"
82
82
  }
@@ -1,20 +1,9 @@
1
1
  import { com } from '@sphereon/kmp-mdoc-core'
2
2
  import { calculateJwkThumbprint } from '@sphereon/ssi-sdk-ext.key-utils'
3
- import {
4
- CertificateInfo,
5
- getCertificateInfo,
6
- pemOrDerToX509Certificate,
7
- X509ValidationResult
8
- } from '@sphereon/ssi-sdk-ext.x509-utils'
3
+ import { CertificateInfo, getCertificateInfo, pemOrDerToX509Certificate, X509ValidationResult } from '@sphereon/ssi-sdk-ext.x509-utils'
9
4
  import { JWK } from '@sphereon/ssi-types'
10
5
  import { IAgentPlugin } from '@veramo/core'
11
- import {
12
- MdocOid4vpPresentArgs,
13
- MdocOid4VPPresentationAuth,
14
- MdocOid4vpRPVerifyArgs,
15
- MdocOid4vpRPVerifyResult,
16
- schema
17
- } from '..'
6
+ import { MdocOid4vpPresentArgs, MdocOid4VPPresentationAuth, MdocOid4vpRPVerifyArgs, MdocOid4vpRPVerifyResult, schema } from '..'
18
7
  import { CoseCryptoService, X509CallbackService } from '../functions'
19
8
  import {
20
9
  GetX509CertificateInfoArgs,
@@ -22,7 +11,7 @@ import {
22
11
  IRequiredContext,
23
12
  KeyType,
24
13
  MdocVerifyIssuerSignedArgs,
25
- VerifyCertificateChainArgs
14
+ VerifyCertificateChainArgs,
26
15
  } from '../types/ImDLMdoc'
27
16
  import CborByteString = com.sphereon.cbor.CborByteString
28
17
  import CoseKeyCbor = com.sphereon.crypto.cose.CoseKeyCbor
@@ -48,7 +37,7 @@ export const mdocSupportMethods: Array<string> = [
48
37
  'x509GetCertificateInfo',
49
38
  'mdocVerifyIssuerSigned',
50
39
  'mdocOid4vpHolderPresent',
51
- 'mdocOid4vpRPVerify'
40
+ 'mdocOid4vpRPVerify',
52
41
  ]
53
42
 
54
43
  /**
@@ -63,7 +52,7 @@ export class MDLMdoc implements IAgentPlugin {
63
52
  x509GetCertificateInfo: this.x509GetCertificateInfo.bind(this),
64
53
  mdocVerifyIssuerSigned: this.mdocVerifyIssuerSigned.bind(this),
65
54
  mdocOid4vpHolderPresent: this.mdocOid4vpHolderPresent.bind(this),
66
- mdocOid4vpRPVerify: this.mdocOid4vpRPVerify.bind(this)
55
+ mdocOid4vpRPVerify: this.mdocOid4vpRPVerify.bind(this),
67
56
  }
68
57
  private readonly trustAnchors: string[]
69
58
  private opts: {
@@ -96,16 +85,7 @@ export class MDLMdoc implements IAgentPlugin {
96
85
  * @return {Promise<MdocOid4VPPresentationAuth>} A promise that resolves to an object containing vp_token and presentation_submission.
97
86
  */
98
87
  private async mdocOid4vpHolderPresent(args: MdocOid4vpPresentArgs, _context: IRequiredContext): Promise<MdocOid4VPPresentationAuth> {
99
- const {
100
- mdocs,
101
- presentationDefinition,
102
- trustAnchors,
103
- verifications,
104
- mdocHolderNonce,
105
- authorizationRequestNonce,
106
- responseUri,
107
- clientId
108
- } = args
88
+ const { mdocs, presentationDefinition, trustAnchors, verifications, mdocHolderNonce, authorizationRequestNonce, responseUri, clientId } = args
109
89
 
110
90
  const oid4vpService = new MdocOid4vpService()
111
91
  // const mdoc = DocumentCbor.Static.cborDecode(decodeFrom(mdocBase64Url, Encoding.BASE64URL))
@@ -116,7 +96,7 @@ export class MDLMdoc implements IAgentPlugin {
116
96
  null,
117
97
  trustAnchors ?? this.trustAnchors,
118
98
  DateTimeUtils.Static.DEFAULT.dateTimeLocal((verifications?.verificationTime?.getTime() ?? Date.now()) / 1000),
119
- verifications?.allowExpiredDocuments
99
+ verifications?.allowExpiredDocuments,
120
100
  )
121
101
  if (result.error) {
122
102
  console.log(JSON.stringify(result, null, 2))
@@ -131,9 +111,9 @@ export class MDLMdoc implements IAgentPlugin {
131
111
  name: 'mdoc',
132
112
  error: true,
133
113
  critical: true,
134
- message: e.message as string
135
- }
136
- ]
114
+ message: e.message as string,
115
+ },
116
+ ],
137
117
  }
138
118
  }
139
119
  }
@@ -141,7 +121,7 @@ export class MDLMdoc implements IAgentPlugin {
141
121
  const allMatches: DocumentDescriptorMatchResult[] = oid4vpService.matchDocumentsAndDescriptors(
142
122
  mdocHolderNonce,
143
123
  mdocs,
144
- presentationDefinition as IOid4VPPresentationDefinition
124
+ presentationDefinition as IOid4VPPresentationDefinition,
145
125
  )
146
126
  const docsAndDescriptors: DocumentDescriptorMatchResult[] = []
147
127
  let lastError: com.sphereon.crypto.generic.IVerifyResults<com.sphereon.crypto.cose.ICoseKeyCbor> | undefined = undefined
@@ -164,7 +144,16 @@ export class MDLMdoc implements IAgentPlugin {
164
144
  const kms = key.kms
165
145
  const kmsKeyRef = key.meta?.kmsKeyRef
166
146
  const updateCborKey = cborKey.copy(false, cborKey.kty, cborKey.kid ?? new CborByteString(decodeFrom(kid, Encoding.UTF8)))
167
- const deviceKeyInfo = KeyInfo.Static.fromDTO(keyInfo).copy(kid, updateCborKey, keyInfo.opts, keyInfo.keyVisibility, keyInfo.signatureAlgorithm, keyInfo.x5c, kmsKeyRef, kms)
147
+ const deviceKeyInfo = KeyInfo.Static.fromDTO(keyInfo).copy(
148
+ kid,
149
+ updateCborKey,
150
+ keyInfo.opts,
151
+ keyInfo.keyVisibility,
152
+ keyInfo.signatureAlgorithm,
153
+ keyInfo.x5c,
154
+ kmsKeyRef,
155
+ kms,
156
+ )
168
157
  const updateMatch = match.copy(match.inputDescriptor, match.document, match.documentError, deviceKeyInfo)
169
158
  match = updateMatch
170
159
  }
@@ -172,7 +161,6 @@ export class MDLMdoc implements IAgentPlugin {
172
161
  console.log(`We tied to ammend key info from the KMS, but failed. Potential trouble ahead ${e.message}`, e)
173
162
  }
174
163
 
175
-
176
164
  docsAndDescriptors.push(match)
177
165
  } else if (result.error) {
178
166
  lastError = result
@@ -190,11 +178,11 @@ export class MDLMdoc implements IAgentPlugin {
190
178
  presentationDefinition as IOid4VPPresentationDefinition,
191
179
  clientId,
192
180
  responseUri,
193
- authorizationRequestNonce
181
+ authorizationRequestNonce,
194
182
  )
195
183
  const vp_token = encodeTo(deviceResponse.cborEncode(), Encoding.BASE64URL)
196
184
  const presentation_submission = Oid4VPPresentationSubmission.Static.fromPresentationDefinition(
197
- presentationDefinition as IOid4VPPresentationDefinition
185
+ presentationDefinition as IOid4VPPresentationDefinition,
198
186
  )
199
187
  return { vp_token, presentation_submission }
200
188
  }
@@ -227,7 +215,7 @@ export class MDLMdoc implements IAgentPlugin {
227
215
  name: 'mdoc',
228
216
  error,
229
217
  critical: error,
230
- message: `No descriptor map id with document type ${document.docType.value} present`
218
+ message: `No descriptor map id with document type ${document.docType.value} present`,
231
219
  })
232
220
  }
233
221
  return { document: document.toJson(), validations }
@@ -242,13 +230,13 @@ export class MDLMdoc implements IAgentPlugin {
242
230
  name: 'mdoc',
243
231
  error,
244
232
  critical: true,
245
- message: e.message as string
246
- }
247
- ]
248
- }
233
+ message: e.message as string,
234
+ },
235
+ ],
236
+ },
249
237
  }
250
238
  }
251
- })
239
+ }),
252
240
  )
253
241
  if (error) {
254
242
  console.log(JSON.stringify(documents, null, 2))
@@ -269,7 +257,7 @@ export class MDLMdoc implements IAgentPlugin {
269
257
  const verification = await new CoseCryptoServiceJS(new CoseCryptoService(context)).verify1(
270
258
  CoseSign1Json.Static.fromDTO(input).toCbor(),
271
259
  coseKeyInfo,
272
- requireX5Chain
260
+ requireX5Chain,
273
261
  )
274
262
  return { ...verification, keyInfo: keyInfo }
275
263
  }
@@ -288,10 +276,10 @@ export class MDLMdoc implements IAgentPlugin {
288
276
  const validationResult = await new X509CallbackService(Array.from(mergedAnchors)).verifyCertificateChain({
289
277
  ...args,
290
278
  trustAnchors: Array.from(trustAnchors),
291
- opts: { ...args?.opts, ...this.opts }
279
+ opts: { ...args?.opts, ...this.opts },
292
280
  })
293
281
  console.log(
294
- `x509 validation for ${validationResult.error ? 'Error' : 'Success'}. message: ${validationResult.message}, details: ${validationResult.detailMessage}`
282
+ `x509 validation for ${validationResult.error ? 'Error' : 'Success'}. message: ${validationResult.message}, details: ${validationResult.detailMessage}`,
295
283
  )
296
284
  return validationResult
297
285
  }
@@ -58,7 +58,7 @@ export class CoseCryptoService implements ICoseCryptoCallbackJS {
58
58
  const resolvedKeyInfo = ResolvedKeyInfo.Static.fromKeyInfo(keyInfo, key)
59
59
  const jwkKeyInfo: ResolvedKeyInfo<Jwk> = CoseJoseKeyMappingService.toResolvedJwkKeyInfo(resolvedKeyInfo)
60
60
 
61
- const kid = jwkKeyInfo.kid ?? calculateJwkThumbprint({jwk: jwkKeyInfo.key.toJsonDTO()}) ?? jwkKeyInfo.key.getKidAsString(true)
61
+ const kid = jwkKeyInfo.kid ?? calculateJwkThumbprint({ jwk: jwkKeyInfo.key.toJsonDTO() }) ?? jwkKeyInfo.key.getKidAsString(true)
62
62
  if (!kid) {
63
63
  return Promise.reject(Error('No kid present and not kmsKeyRef provided'))
64
64
  }