@sphereon/ssi-types 0.30.2-next.125 → 0.30.2-next.129

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.
@@ -71,7 +71,7 @@ export declare class CredentialMapper {
71
71
  static isJwtEncoded(original: OriginalVerifiableCredential | OriginalVerifiablePresentation): original is string;
72
72
  static isSdJwtEncoded(original: OriginalVerifiableCredential | OriginalVerifiablePresentation): original is string;
73
73
  static isMsoMdocOid4VPEncoded(original: OriginalVerifiableCredential | OriginalVerifiablePresentation): original is string;
74
- static isW3cCredential(credential: ICredential | SdJwtDecodedVerifiableCredential): credential is ICredential;
74
+ static isW3cCredential(credential: ICredential | SdJwtDecodedVerifiableCredential | MdocDocument): credential is ICredential;
75
75
  static isCredential(original: OriginalVerifiableCredential | OriginalVerifiablePresentation): original is OriginalVerifiableCredential;
76
76
  static isPresentation(original: OriginalVerifiableCredential | OriginalVerifiablePresentation): original is OriginalVerifiablePresentation;
77
77
  static hasProof(original: OriginalVerifiableCredential | OriginalVerifiablePresentation | string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"credential-mapper.d.ts","sourceRoot":"","sources":["../../src/mapper/credential-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-mapper.d.ts","sourceRoot":"","sources":["../../src/mapper/credential-mapper.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.CredentialMapper = void 0;
18
18
  const jwt_decode_1 = __importDefault(require("jwt-decode"));
19
19
  const types_1 = require("../types");
20
+ const mso_mdoc_1 = require("../types/mso_mdoc");
20
21
  const utils_1 = require("../utils");
21
22
  class CredentialMapper {
22
23
  /**
@@ -234,7 +235,7 @@ class CredentialMapper {
234
235
  static toWrappedVerifiableCredential(verifiableCredential, opts) {
235
236
  var _a;
236
237
  // MSO_MDOC
237
- if (CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential) || CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential)) {
238
+ if (CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential) || CredentialMapper.isMsoMdocOid4VPEncoded(verifiableCredential)) {
238
239
  let mdoc;
239
240
  if (CredentialMapper.isMsoMdocOid4VPEncoded(verifiableCredential)) {
240
241
  mdoc = (0, types_1.decodeMdocIssuerSigned)(verifiableCredential);
@@ -246,8 +247,8 @@ class CredentialMapper {
246
247
  type: CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential) ? types_1.OriginalType.MSO_MDOC_DECODED : types_1.OriginalType.MSO_MDOC_ENCODED,
247
248
  format: 'mso_mdoc',
248
249
  original: verifiableCredential,
249
- credential: (0, types_1.mdocDecodedCredentialToUniformCredential)(mdoc),
250
- decoded: mdoc,
250
+ credential: mdoc,
251
+ decoded: (0, mso_mdoc_1.getMdocDecodedPayload)(mdoc),
251
252
  };
252
253
  }
253
254
  // SD-JWT
@@ -272,7 +273,7 @@ class CredentialMapper {
272
273
  }
273
274
  // If the VC is not an encoded/decoded SD-JWT, we assume it will be a W3C VC
274
275
  const proof = CredentialMapper.getFirstProof(verifiableCredential);
275
- const original = CredentialMapper.hasJWTProofType(verifiableCredential) && proof ? ((_a = proof.jwt) !== null && _a !== void 0 ? _a : verifiableCredential) : verifiableCredential;
276
+ const original = CredentialMapper.hasJWTProofType(verifiableCredential) && proof ? (_a = proof.jwt) !== null && _a !== void 0 ? _a : verifiableCredential : verifiableCredential;
276
277
  if (!original) {
277
278
  throw Error('Could not determine original credential, probably it was a converted JWT credential, that is now missing the JWT value in the proof');
278
279
  }
@@ -404,7 +405,10 @@ class CredentialMapper {
404
405
  // We are doing this over here, as the rest of the logic around it would otherwise need to be adjusted substantially
405
406
  return false;
406
407
  }
407
- return firstOriginal.toJson().toJsonString() === secondOriginal.toJson().toJsonString();
408
+ // FIXME: mdoc library fails on parsing the device signed, so for now we just check whether the issuerSigned
409
+ // is equal, then we have a good chance it is the same credential. Once device signed parsing is fixed in mdl
410
+ // library we can move the .equals() to the top-level object.
411
+ return firstOriginal.issuerSigned.equals(secondOriginal.issuerSigned);
408
412
  }
409
413
  else if (CredentialMapper.isSdJwtDecodedCredential(firstOriginal) || CredentialMapper.isSdJwtDecodedCredential(secondOriginal)) {
410
414
  return firstOriginal.compactSdJwtVc === secondOriginal.compactSdJwtVc;
@@ -1 +1 @@
1
- {"version":3,"file":"credential-mapper.js","sourceRoot":"","sources":["../../src/mapper/credential-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-mapper.js","sourceRoot":"","sources":["../../src/mapper/credential-mapper.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export type MdocOid4vpMdocVpToken = string;
15
15
  export type MdocIssuerSigned = com.sphereon.mdoc.data.device.IssuerSignedCbor;
16
16
  export type MdocDocument = com.sphereon.mdoc.data.device.DocumentCbor;
17
17
  export type MdocDocumentJson = com.sphereon.mdoc.data.device.DocumentJson;
18
+ export type IssuerSignedJson = com.sphereon.mdoc.data.device.IssuerSignedJson;
19
+ export type DeviceSignedJson = com.sphereon.mdoc.data.device.DeviceSignedJson;
18
20
  export type MdocDeviceResponse = com.sphereon.mdoc.data.device.DeviceResponseCbor;
19
21
  export interface WrappedMdocCredential {
20
22
  /**
@@ -22,11 +24,10 @@ export interface WrappedMdocCredential {
22
24
  */
23
25
  original: MdocDocument | MdocOid4vpIssuerSigned;
24
26
  /**
25
- * Decoded version of the Mdoc payload. We add the record to make sure existing implementations remain happy
27
+ * Record where keys are the namespaces and the values are objects again with the namespace values
28
+ * @todo which types can be there? (it doesn't matter for matching as mdoc only matches on path)
26
29
  */
27
- decoded: MdocDocument & {
28
- [key: string]: any;
29
- };
30
+ decoded: MdocDecodedPayload;
30
31
  /**
31
32
  * Type of this credential.
32
33
  */
@@ -38,7 +39,7 @@ export interface WrappedMdocCredential {
38
39
  /**
39
40
  * Internal stable representation of a Credential
40
41
  */
41
- credential: IVerifiableCredential;
42
+ credential: MdocDocument;
42
43
  }
43
44
  export interface WrappedMdocPresentation {
44
45
  /**
@@ -68,12 +69,18 @@ export interface WrappedMdocPresentation {
68
69
  }
69
70
  export declare function isWrappedMdocCredential(vc: WrappedVerifiableCredential): vc is WrappedMdocCredential;
70
71
  export declare function isWrappedMdocPresentation(vp: WrappedVerifiablePresentation): vp is WrappedMdocPresentation;
72
+ /**
73
+ * Record where keys are the namespaces and the values are objects again with the namespace values
74
+ */
75
+ export type MdocDecodedPayload = Record<string, Record<string, string | number | boolean>>;
76
+ export declare function getMdocDecodedPayload(mdoc: MdocDocument): MdocDecodedPayload;
71
77
  /**
72
78
  * Decode an Mdoc from its issuerSigned OID4VP Base64URL (string) to an object containing the disclosures,
73
79
  * signed payload, decoded payload
74
80
  *
75
81
  */
76
82
  export declare function decodeMdocIssuerSigned(oid4vpIssuerSigned: MdocOid4vpIssuerSigned): MdocDocument;
83
+ export declare function encodeMdocIssuerSigned(issuerSigned: MdocIssuerSigned, encoding?: 'base64url'): string;
77
84
  /**
78
85
  * Decode an Mdoc from its vp_token OID4VP Base64URL (string) to an object containing the disclosures,
79
86
  * signed payload, decoded payload
@@ -1 +1 @@
1
- {"version":3,"file":"mso_mdoc.d.ts","sourceRoot":"","sources":["../../src/types/mso_mdoc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAE5C,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,MAAM,CAAA;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAShD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAA;AAC3C,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAC1C,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAA;AAC7E,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;AACzE,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAA;AAEjF,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,YAAY,GAAG,sBAAsB,CAAA;IAC/C;;OAEG;IACH,OAAO,EAAE,YAAY,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAA;IAC9C;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAA;IACnE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;OAEG;IACH,UAAU,EAAE,qBAAqB,CAAA;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,EAAE,kBAAkB,GAAG,qBAAqB,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAA;IAC3B;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAA;IACnE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;OAEG;IACH,YAAY,EAAE,kBAAkB,CAAA;IAChC;;OAEG;IACH,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;CAC7B;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,2BAA2B,GAAG,EAAE,IAAI,qBAAqB,CAEpG;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,6BAA6B,GAAG,EAAE,IAAI,uBAAuB,CAE1G;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,sBAAsB,GAAG,YAAY,CAM/F;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,CAG3F;AAGD,eAAO,MAAM,wCAAwC,YAC1C,YAAY,SAEd;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,KAClC,qBA0DF,CAAA"}
1
+ {"version":3,"file":"mso_mdoc.d.ts","sourceRoot":"","sources":["../../src/types/mso_mdoc.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAA;AAE5C,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,MAAM,CAAA;AAC/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAShD;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAA;AAC3C,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAA;AAC1C,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAA;AAC7E,MAAM,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;AACrE,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAA;AACzE,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAA;AAC7E,MAAM,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAA;AAC7E,MAAM,MAAM,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAA;AAEjF,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,YAAY,GAAG,sBAAsB,CAAA;IAC/C;;;OAGG;IACH,OAAO,EAAE,kBAAkB,CAAA;IAC3B;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAA;IACnE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;OAEG;IACH,UAAU,EAAE,YAAY,CAAA;CACzB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,QAAQ,EAAE,kBAAkB,GAAG,qBAAqB,CAAA;IACpD;;OAEG;IACH,OAAO,EAAE,kBAAkB,CAAA;IAC3B;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,CAAA;IACnE;;OAEG;IACH,MAAM,EAAE,UAAU,CAAA;IAClB;;OAEG;IACH,YAAY,EAAE,kBAAkB,CAAA;IAChC;;OAEG;IACH,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;CAC7B;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,2BAA2B,GAAG,EAAE,IAAI,qBAAqB,CAEpG;AAED,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,6BAA6B,GAAG,EAAE,IAAI,uBAAuB,CAE1G;AACD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAA;AAC1F,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,GAAG,kBAAkB,CAqB5E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,kBAAkB,EAAE,sBAAsB,GAAG,YAAY,CAM/F;AAED,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,gBAAgB,EAAE,QAAQ,GAAE,WAAyB,UAEzG;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,qBAAqB,GAAG,kBAAkB,CAG3F;AAGD,eAAO,MAAM,wCAAwC,YAC1C,YAAY,SAEd;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,KAClC,qBA0DF,CAAA"}
@@ -9,7 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.mdocDecodedCredentialToUniformCredential = void 0;
10
10
  exports.isWrappedMdocCredential = isWrappedMdocCredential;
11
11
  exports.isWrappedMdocPresentation = isWrappedMdocPresentation;
12
+ exports.getMdocDecodedPayload = getMdocDecodedPayload;
12
13
  exports.decodeMdocIssuerSigned = decodeMdocIssuerSigned;
14
+ exports.encodeMdocIssuerSigned = encodeMdocIssuerSigned;
13
15
  exports.decodeMdocDeviceResponse = decodeMdocDeviceResponse;
14
16
  const kmp_mdl_mdoc_1 = require("@sphereon/kmp-mdl-mdoc");
15
17
  const did_1 = require("./did");
@@ -24,6 +26,19 @@ function isWrappedMdocCredential(vc) {
24
26
  function isWrappedMdocPresentation(vp) {
25
27
  return vp.format === 'mso_mdoc';
26
28
  }
29
+ function getMdocDecodedPayload(mdoc) {
30
+ const mdocJson = mdoc.toJson();
31
+ if (!mdocJson.issuerSigned.nameSpaces) {
32
+ throw Error(`Cannot access Issuer Signed items from the Mdoc`);
33
+ }
34
+ const issuerSignedJson = mdocJson.issuerSigned.toJsonDTO();
35
+ const namespaces = issuerSignedJson.nameSpaces;
36
+ const decodedPayload = {};
37
+ for (const [namespace, items] of Object.entries(namespaces)) {
38
+ decodedPayload[namespace] = items.reduce((acc, item) => (Object.assign(Object.assign({}, acc), { [item.key]: item.value.value })), {});
39
+ }
40
+ return decodedPayload;
41
+ }
27
42
  /**
28
43
  * Decode an Mdoc from its issuerSigned OID4VP Base64URL (string) to an object containing the disclosures,
29
44
  * signed payload, decoded payload
@@ -36,6 +51,9 @@ function decodeMdocIssuerSigned(oid4vpIssuerSigned) {
36
51
  const holderMdoc = issuerSigned.toDocument();
37
52
  return holderMdoc;
38
53
  }
54
+ function encodeMdocIssuerSigned(issuerSigned, encoding = 'base64url') {
55
+ return encodeTo(issuerSigned.cborEncode(), Encoding.BASE64URL);
56
+ }
39
57
  /**
40
58
  * Decode an Mdoc from its vp_token OID4VP Base64URL (string) to an object containing the disclosures,
41
59
  * signed payload, decoded payload
@@ -1 +1 @@
1
- {"version":3,"file":"mso_mdoc.js","sourceRoot":"","sources":["../../src/types/mso_mdoc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mso_mdoc.js","sourceRoot":"","sources":["../../src/types/mso_mdoc.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-types",
3
3
  "description": "SSI Common Types",
4
- "version": "0.30.2-next.125+9e12eec7",
4
+ "version": "0.30.2-next.129+85479f8a",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
@@ -46,5 +46,5 @@
46
46
  "DIDs"
47
47
  ],
48
48
  "nx": {},
49
- "gitHead": "9e12eec7dd0c298204913456c65263a36119cf98"
49
+ "gitHead": "85479f8ad18e6eef981de750c81cd9be5b6d9c53"
50
50
  }
@@ -41,7 +41,7 @@ import {
41
41
  WrappedVerifiablePresentation,
42
42
  WrappedW3CVerifiableCredential,
43
43
  } from '../types'
44
- import { MdocDocument } from '../types/mso_mdoc'
44
+ import { getMdocDecodedPayload, MdocDocument } from '../types/mso_mdoc'
45
45
  import { ObjectUtils } from '../utils'
46
46
  import { com } from '@sphereon/kmp-mdl-mdoc'
47
47
  import DeviceResponseCbor = com.sphereon.mdoc.data.device.DeviceResponseCbor
@@ -66,7 +66,7 @@ export class CredentialMapper {
66
66
  */
67
67
  static decodeVerifiablePresentation(
68
68
  presentation: OriginalVerifiablePresentation,
69
- hasher?: Hasher,
69
+ hasher?: Hasher
70
70
  ): JwtDecodedVerifiablePresentation | IVerifiablePresentation | SdJwtDecodedVerifiableCredential | MdocOid4vpMdocVpToken | MdocDeviceResponse {
71
71
  if (CredentialMapper.isJwtEncoded(presentation)) {
72
72
  const payload = jwt_decode(presentation as string) as JwtDecodedVerifiablePresentation
@@ -111,7 +111,7 @@ export class CredentialMapper {
111
111
  */
112
112
  static decodeVerifiableCredential(
113
113
  credential: OriginalVerifiableCredential,
114
- hasher?: Hasher,
114
+ hasher?: Hasher
115
115
  ): JwtDecodedVerifiableCredential | IVerifiableCredential | SdJwtDecodedVerifiableCredential {
116
116
  if (CredentialMapper.isJwtEncoded(credential)) {
117
117
  const payload = jwt_decode(credential as string) as JwtDecodedVerifiableCredential
@@ -151,7 +151,7 @@ export class CredentialMapper {
151
151
  */
152
152
  static toWrappedVerifiablePresentation(
153
153
  originalPresentation: OriginalVerifiablePresentation,
154
- opts?: { maxTimeSkewInMS?: number; hasher?: Hasher },
154
+ opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }
155
155
  ): WrappedVerifiablePresentation {
156
156
  // MSO_MDOC
157
157
  if (CredentialMapper.isMsoMdocDecodedPresentation(originalPresentation) || CredentialMapper.isMsoMdocOid4VPEncoded(originalPresentation)) {
@@ -162,7 +162,7 @@ export class CredentialMapper {
162
162
  deviceResponse = originalPresentation
163
163
  }
164
164
 
165
- const mdocCredential: WrappedMdocCredential | undefined = deviceResponse.documents
165
+ const mdocCredential = deviceResponse.documents
166
166
  ?.map((doc) => CredentialMapper.toWrappedVerifiableCredential(doc, opts) as WrappedMdocCredential)
167
167
  .find((value) => value !== undefined)
168
168
  if (mdocCredential === undefined) {
@@ -205,7 +205,7 @@ export class CredentialMapper {
205
205
  typeof originalPresentation !== 'string' && CredentialMapper.hasJWTProofType(originalPresentation) ? proof?.jwt : originalPresentation
206
206
  if (!original) {
207
207
  throw Error(
208
- 'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof',
208
+ 'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof'
209
209
  )
210
210
  }
211
211
  const decoded = CredentialMapper.decodeVerifiablePresentation(original) as IVerifiablePresentation | JwtDecodedVerifiablePresentation
@@ -233,7 +233,7 @@ export class CredentialMapper {
233
233
  ? []
234
234
  : (CredentialMapper.toWrappedVerifiableCredentials(
235
235
  vp.verifiableCredential ?? [] /*.map(value => value.original)*/,
236
- opts,
236
+ opts
237
237
  ) as WrappedW3CVerifiableCredential[])
238
238
 
239
239
  const presentation = {
@@ -261,7 +261,7 @@ export class CredentialMapper {
261
261
  */
262
262
  static toWrappedVerifiableCredentials(
263
263
  verifiableCredentials: OriginalVerifiableCredential[],
264
- opts?: { maxTimeSkewInMS?: number; hasher?: Hasher },
264
+ opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }
265
265
  ): WrappedVerifiableCredential[] {
266
266
  return verifiableCredentials.map((vc) => CredentialMapper.toWrappedVerifiableCredential(vc, opts))
267
267
  }
@@ -277,10 +277,10 @@ export class CredentialMapper {
277
277
  */
278
278
  static toWrappedVerifiableCredential(
279
279
  verifiableCredential: OriginalVerifiableCredential,
280
- opts?: { maxTimeSkewInMS?: number; hasher?: Hasher },
280
+ opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }
281
281
  ): WrappedVerifiableCredential {
282
282
  // MSO_MDOC
283
- if (CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential) || CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential)) {
283
+ if (CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential) || CredentialMapper.isMsoMdocOid4VPEncoded(verifiableCredential)) {
284
284
  let mdoc: MdocDocument
285
285
  if (CredentialMapper.isMsoMdocOid4VPEncoded(verifiableCredential)) {
286
286
  mdoc = decodeMdocIssuerSigned(verifiableCredential)
@@ -291,8 +291,8 @@ export class CredentialMapper {
291
291
  type: CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential) ? OriginalType.MSO_MDOC_DECODED : OriginalType.MSO_MDOC_ENCODED,
292
292
  format: 'mso_mdoc',
293
293
  original: verifiableCredential,
294
- credential: mdocDecodedCredentialToUniformCredential(mdoc),
295
- decoded: mdoc,
294
+ credential: mdoc,
295
+ decoded: getMdocDecodedPayload(mdoc),
296
296
  }
297
297
  }
298
298
 
@@ -319,10 +319,10 @@ export class CredentialMapper {
319
319
 
320
320
  // If the VC is not an encoded/decoded SD-JWT, we assume it will be a W3C VC
321
321
  const proof = CredentialMapper.getFirstProof(verifiableCredential)
322
- const original = CredentialMapper.hasJWTProofType(verifiableCredential) && proof ? (proof.jwt ?? verifiableCredential) : verifiableCredential
322
+ const original = CredentialMapper.hasJWTProofType(verifiableCredential) && proof ? proof.jwt ?? verifiableCredential : verifiableCredential
323
323
  if (!original) {
324
324
  throw Error(
325
- 'Could not determine original credential, probably it was a converted JWT credential, that is now missing the JWT value in the proof',
325
+ 'Could not determine original credential, probably it was a converted JWT credential, that is now missing the JWT value in the proof'
326
326
  )
327
327
  }
328
328
  const decoded = CredentialMapper.decodeVerifiableCredential(original) as JwtDecodedVerifiableCredential | IVerifiableCredential
@@ -358,7 +358,7 @@ export class CredentialMapper {
358
358
  return ObjectUtils.isString(original) && !original.startsWith('ey') && ObjectUtils.isBase64(original)
359
359
  }
360
360
 
361
- public static isW3cCredential(credential: ICredential | SdJwtDecodedVerifiableCredential): credential is ICredential {
361
+ public static isW3cCredential(credential: ICredential | SdJwtDecodedVerifiableCredential | MdocDocument): credential is ICredential {
362
362
  return typeof credential === 'object' && '@context' in credential && ((credential as ICredential).type?.includes('VerifiableCredential') || false)
363
363
  }
364
364
 
@@ -438,7 +438,7 @@ export class CredentialMapper {
438
438
  }
439
439
 
440
440
  public static isW3cPresentation(
441
- presentation: UniformVerifiablePresentation | IPresentation | SdJwtDecodedVerifiableCredential | DeviceResponseCbor,
441
+ presentation: UniformVerifiablePresentation | IPresentation | SdJwtDecodedVerifiableCredential | DeviceResponseCbor
442
442
  ): presentation is IPresentation {
443
443
  return (
444
444
  typeof presentation === 'object' &&
@@ -448,7 +448,7 @@ export class CredentialMapper {
448
448
  }
449
449
 
450
450
  public static isSdJwtDecodedCredentialPayload(
451
- credential: ICredential | SdJwtDecodedVerifiableCredentialPayload,
451
+ credential: ICredential | SdJwtDecodedVerifiableCredentialPayload
452
452
  ): credential is SdJwtDecodedVerifiableCredentialPayload {
453
453
  return typeof credential === 'object' && 'vct' in credential
454
454
  }
@@ -462,7 +462,11 @@ export class CredentialMapper {
462
462
  // We are doing this over here, as the rest of the logic around it would otherwise need to be adjusted substantially
463
463
  return false
464
464
  }
465
- return firstOriginal.toJson().toJsonString() === secondOriginal.toJson().toJsonString()
465
+
466
+ // FIXME: mdoc library fails on parsing the device signed, so for now we just check whether the issuerSigned
467
+ // is equal, then we have a good chance it is the same credential. Once device signed parsing is fixed in mdl
468
+ // library we can move the .equals() to the top-level object.
469
+ return firstOriginal.issuerSigned.equals(secondOriginal.issuerSigned)
466
470
  } else if (CredentialMapper.isSdJwtDecodedCredential(firstOriginal) || CredentialMapper.isSdJwtDecodedCredential(secondOriginal)) {
467
471
  return firstOriginal.compactSdJwtVc === secondOriginal.compactSdJwtVc
468
472
  } else {
@@ -476,7 +480,7 @@ export class CredentialMapper {
476
480
  }
477
481
 
478
482
  public static isSdJwtDecodedCredential(
479
- original: OriginalVerifiableCredential | OriginalVerifiablePresentation | ICredential | IPresentation,
483
+ original: OriginalVerifiableCredential | OriginalVerifiablePresentation | ICredential | IPresentation
480
484
  ): original is SdJwtDecodedVerifiableCredential {
481
485
  return (
482
486
  typeof original === 'object' &&
@@ -485,7 +489,7 @@ export class CredentialMapper {
485
489
  }
486
490
 
487
491
  public static isMsoMdocDecodedCredential(
488
- original: OriginalVerifiableCredential | OriginalVerifiablePresentation | ICredential | IPresentation,
492
+ original: OriginalVerifiableCredential | OriginalVerifiablePresentation | ICredential | IPresentation
489
493
  ): original is MdocDocument {
490
494
  return typeof original === 'object' && 'issuerSigned' in original && (<MdocDocument>original).issuerSigned !== undefined
491
495
  }
@@ -520,7 +524,7 @@ export class CredentialMapper {
520
524
  static jwtEncodedPresentationToUniformPresentation(
521
525
  jwt: string,
522
526
  makeCredentialsUniform: boolean = true,
523
- opts?: { maxTimeSkewInMS?: number },
527
+ opts?: { maxTimeSkewInMS?: number }
524
528
  ): IPresentation {
525
529
  return CredentialMapper.jwtDecodedPresentationToUniformPresentation(jwt_decode(jwt), makeCredentialsUniform, opts)
526
530
  }
@@ -528,7 +532,7 @@ export class CredentialMapper {
528
532
  static jwtDecodedPresentationToUniformPresentation(
529
533
  decoded: JwtDecodedVerifiablePresentation,
530
534
  makeCredentialsUniform: boolean = true,
531
- opts?: { maxTimeSkewInMS?: number },
535
+ opts?: { maxTimeSkewInMS?: number }
532
536
  ): IVerifiablePresentation {
533
537
  const { iss, aud, jti, vp, ...rest } = decoded
534
538
 
@@ -575,7 +579,7 @@ export class CredentialMapper {
575
579
  opts?: {
576
580
  maxTimeSkewInMS?: number
577
581
  hasher?: Hasher
578
- },
582
+ }
579
583
  ): IVerifiableCredential {
580
584
  if (CredentialMapper.isMsoMdocDecodedCredential(verifiableCredential)) {
581
585
  return mdocDecodedCredentialToUniformCredential(verifiableCredential)
@@ -589,7 +593,7 @@ export class CredentialMapper {
589
593
  : verifiableCredential
590
594
  if (!original) {
591
595
  throw Error(
592
- 'Could not determine original credential from passed in credential. Probably because a JWT proof type was present, but now is not available anymore',
596
+ 'Could not determine original credential from passed in credential. Probably because a JWT proof type was present, but now is not available anymore'
593
597
  )
594
598
  }
595
599
  const decoded = CredentialMapper.decodeVerifiableCredential(original, opts?.hasher)
@@ -612,7 +616,7 @@ export class CredentialMapper {
612
616
 
613
617
  static toUniformPresentation(
614
618
  presentation: OriginalVerifiablePresentation,
615
- opts?: { maxTimeSkewInMS?: number; addContextIfMissing?: boolean },
619
+ opts?: { maxTimeSkewInMS?: number; addContextIfMissing?: boolean }
616
620
  ): IVerifiablePresentation {
617
621
  if (CredentialMapper.isSdJwtDecodedCredential(presentation)) {
618
622
  throw new Error('Converting SD-JWT VC to uniform VP is not supported.')
@@ -624,7 +628,7 @@ export class CredentialMapper {
624
628
  const original = typeof presentation !== 'string' && CredentialMapper.hasJWTProofType(presentation) ? proof?.jwt : presentation
625
629
  if (!original) {
626
630
  throw Error(
627
- 'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof',
631
+ 'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof'
628
632
  )
629
633
  }
630
634
  const decoded = CredentialMapper.decodeVerifiablePresentation(original)
@@ -641,7 +645,7 @@ export class CredentialMapper {
641
645
  }
642
646
 
643
647
  uniformPresentation.verifiableCredential = uniformPresentation.verifiableCredential?.map((vc) =>
644
- CredentialMapper.toUniformCredential(vc, opts),
648
+ CredentialMapper.toUniformCredential(vc, opts)
645
649
  ) as IVerifiableCredential[] // We cast it because we IPresentation needs a VC. The internal Credential doesn't have the required Proof anymore (that is intended)
646
650
  return uniformPresentation
647
651
  }
@@ -650,14 +654,14 @@ export class CredentialMapper {
650
654
  jwt: string,
651
655
  opts?: {
652
656
  maxTimeSkewInMS?: number
653
- },
657
+ }
654
658
  ): IVerifiableCredential {
655
659
  return CredentialMapper.jwtDecodedCredentialToUniformCredential(jwt_decode(jwt), opts)
656
660
  }
657
661
 
658
662
  static jwtDecodedCredentialToUniformCredential(
659
663
  decoded: JwtDecodedVerifiableCredential,
660
- opts?: { maxTimeSkewInMS?: number },
664
+ opts?: { maxTimeSkewInMS?: number }
661
665
  ): IVerifiableCredential {
662
666
  const { exp, nbf, iss, vc, sub, jti, ...rest } = decoded
663
667
  const credential: IVerifiableCredential = {
@@ -825,7 +829,7 @@ export class CredentialMapper {
825
829
  }
826
830
 
827
831
  static toCompactJWT(
828
- jwtDocument: W3CVerifiableCredential | JwtDecodedVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiablePresentation | string,
832
+ jwtDocument: W3CVerifiableCredential | JwtDecodedVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiablePresentation | string
829
833
  ): string {
830
834
  if (!jwtDocument || CredentialMapper.detectDocumentType(jwtDocument) !== DocumentFormat.JWT) {
831
835
  throw Error('Cannot convert non JWT credential to JWT')
@@ -855,7 +859,7 @@ export class CredentialMapper {
855
859
  | JwtDecodedVerifiablePresentation
856
860
  | SdJwtDecodedVerifiableCredential
857
861
  | MdocDeviceResponse
858
- | MdocDocument,
862
+ | MdocDocument
859
863
  ): DocumentFormat {
860
864
  if (this.isMsoMdocOid4VPEncoded(document as any) || this.isMsoMdocDecodedCredential(document as any)) {
861
865
  return DocumentFormat.MSO_MDOC
@@ -883,7 +887,7 @@ export class CredentialMapper {
883
887
  }
884
888
 
885
889
  private static hasJWTProofType(
886
- document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation,
890
+ document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation
887
891
  ): boolean {
888
892
  if (typeof document === 'string') {
889
893
  return false
@@ -892,7 +896,7 @@ export class CredentialMapper {
892
896
  }
893
897
 
894
898
  private static getFirstProof(
895
- document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation,
899
+ document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation
896
900
  ): IProof | undefined {
897
901
  if (!document || typeof document === 'string') {
898
902
  return undefined
@@ -25,6 +25,8 @@ export type MdocOid4vpMdocVpToken = string
25
25
  export type MdocIssuerSigned = com.sphereon.mdoc.data.device.IssuerSignedCbor
26
26
  export type MdocDocument = com.sphereon.mdoc.data.device.DocumentCbor
27
27
  export type MdocDocumentJson = com.sphereon.mdoc.data.device.DocumentJson
28
+ export type IssuerSignedJson = com.sphereon.mdoc.data.device.IssuerSignedJson
29
+ export type DeviceSignedJson = com.sphereon.mdoc.data.device.DeviceSignedJson
28
30
  export type MdocDeviceResponse = com.sphereon.mdoc.data.device.DeviceResponseCbor
29
31
 
30
32
  export interface WrappedMdocCredential {
@@ -33,9 +35,10 @@ export interface WrappedMdocCredential {
33
35
  */
34
36
  original: MdocDocument | MdocOid4vpIssuerSigned
35
37
  /**
36
- * Decoded version of the Mdoc payload. We add the record to make sure existing implementations remain happy
38
+ * Record where keys are the namespaces and the values are objects again with the namespace values
39
+ * @todo which types can be there? (it doesn't matter for matching as mdoc only matches on path)
37
40
  */
38
- decoded: MdocDocument & { [key: string]: any }
41
+ decoded: MdocDecodedPayload
39
42
  /**
40
43
  * Type of this credential.
41
44
  */
@@ -47,7 +50,7 @@ export interface WrappedMdocCredential {
47
50
  /**
48
51
  * Internal stable representation of a Credential
49
52
  */
50
- credential: IVerifiableCredential
53
+ credential: MdocDocument
51
54
  }
52
55
 
53
56
  export interface WrappedMdocPresentation {
@@ -84,6 +87,32 @@ export function isWrappedMdocCredential(vc: WrappedVerifiableCredential): vc is
84
87
  export function isWrappedMdocPresentation(vp: WrappedVerifiablePresentation): vp is WrappedMdocPresentation {
85
88
  return vp.format === 'mso_mdoc'
86
89
  }
90
+ /**
91
+ * Record where keys are the namespaces and the values are objects again with the namespace values
92
+ */
93
+ export type MdocDecodedPayload = Record<string, Record<string, string | number | boolean>>
94
+ export function getMdocDecodedPayload(mdoc: MdocDocument): MdocDecodedPayload {
95
+ const mdocJson = mdoc.toJson()
96
+ if (!mdocJson.issuerSigned.nameSpaces) {
97
+ throw Error(`Cannot access Issuer Signed items from the Mdoc`)
98
+ }
99
+
100
+ const issuerSignedJson = mdocJson.issuerSigned.toJsonDTO<IssuerSignedJson>()
101
+ const namespaces = issuerSignedJson.nameSpaces as unknown as Record<string, IssuerSignedItemJson[]>
102
+
103
+ const decodedPayload: MdocDecodedPayload = {}
104
+ for (const [namespace, items] of Object.entries(namespaces)) {
105
+ decodedPayload[namespace] = items.reduce(
106
+ (acc, item) => ({
107
+ ...acc,
108
+ [item.key]: item.value.value,
109
+ }),
110
+ {}
111
+ )
112
+ }
113
+
114
+ return decodedPayload
115
+ }
87
116
 
88
117
  /**
89
118
  * Decode an Mdoc from its issuerSigned OID4VP Base64URL (string) to an object containing the disclosures,
@@ -98,6 +127,10 @@ export function decodeMdocIssuerSigned(oid4vpIssuerSigned: MdocOid4vpIssuerSigne
98
127
  return holderMdoc
99
128
  }
100
129
 
130
+ export function encodeMdocIssuerSigned(issuerSigned: MdocIssuerSigned, encoding: 'base64url' = 'base64url') {
131
+ return encodeTo(issuerSigned.cborEncode(), Encoding.BASE64URL)
132
+ }
133
+
101
134
  /**
102
135
  * Decode an Mdoc from its vp_token OID4VP Base64URL (string) to an object containing the disclosures,
103
136
  * signed payload, decoded payload
@@ -112,7 +145,7 @@ export function decodeMdocDeviceResponse(vpToken: MdocOid4vpMdocVpToken): MdocDe
112
145
  export const mdocDecodedCredentialToUniformCredential = (
113
146
  decoded: MdocDocument,
114
147
  // @ts-ignore
115
- opts?: { maxTimeSkewInMS?: number },
148
+ opts?: { maxTimeSkewInMS?: number }
116
149
  ): IVerifiableCredential => {
117
150
  const mdoc = decoded.toJson()
118
151
  const json = mdoc.toJsonDTO<DocumentJson>()