@sphereon/ssi-types 0.28.1-unstable.32 → 0.28.1-unstable.43

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,5 +1,4 @@
1
- import { DocumentFormat, IPresentation, IVerifiableCredential, IVerifiablePresentation, JwtDecodedVerifiableCredential, JwtDecodedVerifiablePresentation, OriginalVerifiableCredential, OriginalVerifiablePresentation, UniformVerifiablePresentation, W3CVerifiableCredential, W3CVerifiablePresentation, WrappedVerifiableCredential, WrappedVerifiablePresentation, SdJwtDecodedVerifiableCredential, SdJwtDecodedVerifiableCredentialPayload, ICredential, isWrappedSdJwtVerifiableCredential, isWrappedSdJwtVerifiablePresentation, isWrappedW3CVerifiableCredential, isWrappedW3CVerifiablePresentation, Hasher, AsyncHasher } from '../types';
2
- import { IssuerType } from '@veramo/core';
1
+ import { AsyncHasher, DocumentFormat, Hasher, ICredential, IPresentation, isWrappedSdJwtVerifiableCredential, isWrappedSdJwtVerifiablePresentation, isWrappedW3CVerifiableCredential, isWrappedW3CVerifiablePresentation, IVerifiableCredential, IVerifiablePresentation, JwtDecodedVerifiableCredential, JwtDecodedVerifiablePresentation, OriginalVerifiableCredential, OriginalVerifiablePresentation, SdJwtDecodedVerifiableCredential, SdJwtDecodedVerifiableCredentialPayload, UniformVerifiablePresentation, W3CVerifiableCredential, W3CVerifiablePresentation, WrappedVerifiableCredential, WrappedVerifiablePresentation } from '../types';
3
2
  export declare class CredentialMapper {
4
3
  /**
5
4
  * Decodes a compact SD-JWT vc to it's decoded variant. This method can be used when the hasher implementation used is Async, and therefore not suitable for usage
@@ -90,6 +89,7 @@ export declare class CredentialMapper {
90
89
  }): IVerifiablePresentation;
91
90
  static toUniformCredential(verifiableCredential: OriginalVerifiableCredential, opts?: {
92
91
  maxTimeSkewInMS?: number;
92
+ hasher?: Hasher;
93
93
  }): IVerifiableCredential;
94
94
  static toUniformPresentation(presentation: OriginalVerifiablePresentation, opts?: {
95
95
  maxTimeSkewInMS?: number;
@@ -108,6 +108,5 @@ export declare class CredentialMapper {
108
108
  static detectDocumentType(document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation | SdJwtDecodedVerifiableCredential): DocumentFormat;
109
109
  private static hasJWTProofType;
110
110
  private static getFirstProof;
111
- static issuerCorrelationIdFromIssuerType(issuer: IssuerType): string;
112
111
  }
113
112
  //# sourceMappingURL=credential-mapper.d.ts.map
@@ -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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"}
@@ -390,13 +390,13 @@ class CredentialMapper {
390
390
  if (CredentialMapper.isSdJwtDecodedCredential(verifiableCredential)) {
391
391
  throw new Error('Converting SD-JWT VC to uniform VC is not supported.');
392
392
  }
393
- const original = typeof verifiableCredential !== 'string' && CredentialMapper.hasJWTProofType(verifiableCredential)
393
+ const original = typeof verifiableCredential !== 'string' && CredentialMapper.hasJWTProofType(verifiableCredential) && !CredentialMapper.isSdJwtEncoded(verifiableCredential.proof.jwt)
394
394
  ? (_a = CredentialMapper.getFirstProof(verifiableCredential)) === null || _a === void 0 ? void 0 : _a.jwt
395
395
  : verifiableCredential;
396
396
  if (!original) {
397
397
  throw Error('Could not determine original credential from passed in credential. Probably because a JWT proof type was present, but now is not available anymore');
398
398
  }
399
- const decoded = CredentialMapper.decodeVerifiableCredential(original);
399
+ const decoded = CredentialMapper.decodeVerifiableCredential(original, opts === null || opts === void 0 ? void 0 : opts.hasher);
400
400
  const isJwtEncoded = CredentialMapper.isJwtEncoded(original);
401
401
  const isJwtDecoded = CredentialMapper.isJwtDecodedCredential(original);
402
402
  if (isJwtDecoded || isJwtEncoded) {
@@ -537,13 +537,22 @@ class CredentialMapper {
537
537
  else if (type === 1 /* DocumentFormat.JSONLD */) {
538
538
  return JSON.parse(credential);
539
539
  }
540
+ else if (type === 2 /* DocumentFormat.SD_JWT_VC */) {
541
+ return credential;
542
+ }
540
543
  }
541
544
  else if (type === 0 /* DocumentFormat.JWT */ && 'vc' in credential) {
542
545
  return CredentialMapper.toCompactJWT(credential);
543
546
  }
544
- else if ('proof' in credential && credential.proof.type === 'JwtProof2020' && credential.proof.jwt) {
547
+ else if ('proof' in credential && credential.proof.type === types_1.IProofType.JwtProof2020 && credential.proof.jwt) {
548
+ return credential.proof.jwt;
549
+ }
550
+ else if ('proof' in credential && credential.proof.type === types_1.IProofType.SdJwtProof2024 && credential.proof.jwt) {
545
551
  return credential.proof.jwt;
546
552
  }
553
+ else if (type === 2 /* DocumentFormat.SD_JWT_VC */ && this.isSdJwtDecodedCredential(credential)) {
554
+ return credential.compactSdJwtVc;
555
+ }
547
556
  return credential;
548
557
  }
549
558
  static storedPresentationToOriginalFormat(presentation) {
@@ -620,25 +629,6 @@ class CredentialMapper {
620
629
  const proofs = 'vc' in document ? document.vc.proof : 'vp' in document ? document.vp.proof : document.proof;
621
630
  return Array.isArray(proofs) ? proofs[0] : proofs;
622
631
  }
623
- static issuerCorrelationIdFromIssuerType(issuer) {
624
- if (issuer === undefined) {
625
- throw new Error('Issuer type us undefined');
626
- }
627
- else if (typeof issuer === 'string') {
628
- return issuer;
629
- }
630
- else if (typeof issuer === 'object') {
631
- if ('id' in issuer) {
632
- return issuer.id;
633
- }
634
- else {
635
- throw new Error('Encountered an invalid issuer object: missing id property');
636
- }
637
- }
638
- else {
639
- throw new Error('Invalid issuer type');
640
- }
641
- }
642
632
  }
643
633
  exports.CredentialMapper = CredentialMapper;
644
634
  CredentialMapper.isWrappedSdJwtVerifiableCredential = types_1.isWrappedSdJwtVerifiableCredential;
@@ -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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"}
@@ -18,7 +18,8 @@ export declare enum IProofType {
18
18
  JcsEd25519Signature2020 = "JcsEd25519Signature2020",
19
19
  BbsBlsSignatureProof2020 = "BbsBlsSignatureProof2020",
20
20
  BbsBlsBoundSignatureProof2020 = "BbsBlsBoundSignatureProof2020",
21
- JwtProof2020 = "JwtProof2020"
21
+ JwtProof2020 = "JwtProof2020",
22
+ SdJwtProof2024 = "SdJwtProof2024"
22
23
  }
23
24
  export interface IParsedDID {
24
25
  did: string;
@@ -1 +1 @@
1
- {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../src/types/did.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,iBAAiB,qBAAqB;IACtC,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED,oBAAY,UAAU;IACpB,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,2BAA2B,gCAAgC;IAC3D,mCAAmC,wCAAwC;IAC3E,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;IACrD,6BAA6B,kCAAkC;IAC/D,YAAY,iBAAiB;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE;QACP,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,CAAA;CACF;AAED,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,UAOtC,CAAA"}
1
+ {"version":3,"file":"did.d.ts","sourceRoot":"","sources":["../../src/types/did.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa;IACvB,kBAAkB,uBAAuB;IACzC,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;IAC7B,iBAAiB,qBAAqB;IACtC,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;CAC9C;AAED,oBAAY,UAAU;IACpB,oBAAoB,yBAAyB;IAC7C,oBAAoB,yBAAyB;IAC7C,2BAA2B,gCAAgC;IAC3D,mCAAmC,wCAAwC;IAC3E,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IACrC,gBAAgB,qBAAqB;IACrC,uBAAuB,4BAA4B;IACnD,wBAAwB,6BAA6B;IACrD,6BAA6B,kCAAkC;IAC/D,YAAY,iBAAiB;IAC7B,cAAc,mBAAmB;CAClC;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE;QACP,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACxB,CAAA;CACF;AAED,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,UAOtC,CAAA"}
package/dist/types/did.js CHANGED
@@ -24,6 +24,7 @@ var IProofType;
24
24
  IProofType["BbsBlsSignatureProof2020"] = "BbsBlsSignatureProof2020";
25
25
  IProofType["BbsBlsBoundSignatureProof2020"] = "BbsBlsBoundSignatureProof2020";
26
26
  IProofType["JwtProof2020"] = "JwtProof2020";
27
+ IProofType["SdJwtProof2024"] = "SdJwtProof2024";
27
28
  })(IProofType || (exports.IProofType = IProofType = {}));
28
29
  const parseDid = (did) => {
29
30
  const parsedDid = parse(did);
@@ -1 +1 @@
1
- {"version":3,"file":"did.js","sourceRoot":"","sources":["../../src/types/did.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"did.js","sourceRoot":"","sources":["../../src/types/did.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { OriginalType, WrappedVerifiableCredential, WrappedVerifiablePresentation } from './vc';
2
- import { CompactJWT } from './w3c-vc';
2
+ import { CompactJWT, IVerifiableCredential } from './w3c-vc';
3
3
  type JsonValue = string | number | boolean | {
4
4
  [x: string]: JsonValue | undefined;
5
5
  } | Array<JsonValue>;
@@ -182,5 +182,8 @@ export declare function decodeSdJwtVc(compactSdJwtVc: CompactSdJwtVc, hasher: Ha
182
182
  * this method hides the actual implementation of SD-JWT (which is currently based on @sd-jwt/core)
183
183
  */
184
184
  export declare function decodeSdJwtVcAsync(compactSdJwtVc: CompactSdJwtVc, hasher: AsyncHasher): Promise<SdJwtDecodedVerifiableCredential>;
185
+ export declare function sdJwtDecodedCredentialToUniformCredential(decoded: SdJwtDecodedVerifiableCredential, opts?: {
186
+ maxTimeSkewInMS?: number;
187
+ }): Promise<IVerifiableCredential>;
185
188
  export {};
186
189
  //# sourceMappingURL=sd-jwt-vc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-jwt-vc.d.ts","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-jwt-vc.d.ts","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,MAAM,MAAM,CAAA;AAE/F,OAAO,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAG5D,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;AAEtG,KAAK,cAAc,GACf,MAAM,GACN,MAAM,GACN,OAAO,GACP;IACE,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;IACvC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;CACf,GACD,KAAK,CAAC,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE7C;;;GAGG;AACH,MAAM,WAAW,uCAAuC;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE;QACJ,GAAG,CAAC,EAAE,GAAG,CAAA;QACT,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,CAAA;IACD,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC;;GAEG;AACH,UAAU,sCAAuC,SAAQ,uCAAuC;IAE9F,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAA;CACxC;AAED,KAAK,eAAe,GAAG,OAAO,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAA;AAC1F,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAClE,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;AAEpE;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,uCAAuC;IACnF;;;OAGG;IACH,iBAAiB,CAAC,EAAE,oBAAoB,CAAA;CACzC;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AACtF,MAAM,WAAW,eAAe;IAE9B,OAAO,EAAE,MAAM,CAAA;IAGf,OAAO,EAAE,sBAAsB,CAAA;IAG/B,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,gCAAgC;IAC/C;;iEAE6D;IAC7D,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;OAIG;IACH,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;IAEnC;;;OAGG;IACH,aAAa,EAAE,sCAAsC,CAAA;IAErD;;;;;;;OAOG;IACH,cAAc,EAAE,uCAAuC,CAAA;IAEvD;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,UAAU,CAAA;QACnB,OAAO,EAAE,mBAAmB,CAAA;KAC7B,CAAA;CACF;AAED,UAAU,mBAAmB;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,gCAAgC;IAC/C;;OAEG;IACH,QAAQ,EAAE,gCAAgC,GAAG,cAAc,CAAA;IAC3D;;;OAGG;IACH,OAAO,EAAE,uCAAuC,CAAA;IAChD;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAA;IACrE;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;IACnB;;OAEG;IACH,UAAU,EAAE,gCAAgC,CAAA;CAC7C;AAED,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,QAAQ,EAAE,gCAAgC,GAAG,cAAc,CAAA;IAC3D;;OAEG;IACH,OAAO,EAAE,uCAAuC,CAAA;IAChD;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC,iBAAiB,GAAG,YAAY,CAAC,iBAAiB,CAAA;IACrE;;OAEG;IACH,MAAM,EAAE,WAAW,CAAA;IACnB;;OAEG;IACH,YAAY,EAAE,gCAAgC,CAAA;IAC9C;;;OAGG;IACH,GAAG,EAAE,CAAC,gCAAgC,CAAC,CAAA;CACxC;AAED,wBAAgB,kCAAkC,CAAC,EAAE,EAAE,2BAA2B,GAAG,EAAE,IAAI,gCAAgC,CAE1H;AAED,wBAAgB,oCAAoC,CAAC,EAAE,EAAE,6BAA6B,GAAG,EAAE,IAAI,kCAAkC,CAEhI;AAED,MAAM,MAAM,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,UAAU,CAAA;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAA;AAE5E;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,gCAAgC,CA0B9G;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CAAC,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,gCAAgC,CAAC,CA0BvI;AAOD,wBAAsB,yCAAyC,CAAC,OAAO,EAAE,gCAAgC,EAAE,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAkE9K"}
@@ -8,9 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
11
22
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.decodeSdJwtVcAsync = exports.decodeSdJwtVc = exports.isWrappedSdJwtVerifiablePresentation = exports.isWrappedSdJwtVerifiableCredential = void 0;
23
+ exports.sdJwtDecodedCredentialToUniformCredential = exports.decodeSdJwtVcAsync = exports.decodeSdJwtVc = exports.isWrappedSdJwtVerifiablePresentation = exports.isWrappedSdJwtVerifiableCredential = void 0;
13
24
  const decode_1 = require("@sd-jwt/decode");
25
+ const did_1 = require("./did");
14
26
  function isWrappedSdJwtVerifiableCredential(vc) {
15
27
  return vc.format === 'vc+sd-jwt';
16
28
  }
@@ -31,10 +43,7 @@ function decodeSdJwtVc(compactSdJwtVc, hasher) {
31
43
  const signedPayload = jwt.payload;
32
44
  const decodedPayload = (0, decode_1.getClaimsSync)(signedPayload, disclosures, hasher);
33
45
  const compactKeyBindingJwt = kbJwt ? compactSdJwtVc.split('~').pop() : undefined;
34
- return {
35
- compactSdJwtVc,
36
- decodedPayload: decodedPayload,
37
- disclosures: disclosures.map((d) => {
46
+ return Object.assign({ compactSdJwtVc, decodedPayload: decodedPayload, disclosures: disclosures.map((d) => {
38
47
  const decoded = d.key ? [d.salt, d.key, d.value] : [d.salt, d.value];
39
48
  if (!d._digest)
40
49
  throw new Error('Implementation error: digest not present in disclosure');
@@ -43,15 +52,11 @@ function decodeSdJwtVc(compactSdJwtVc, hasher) {
43
52
  digest: d._digest,
44
53
  encoded: d.encode(),
45
54
  };
46
- }),
47
- signedPayload: signedPayload,
48
- kbJwt: compactKeyBindingJwt && kbJwt
49
- ? {
50
- compact: compactKeyBindingJwt,
51
- payload: kbJwt.payload,
52
- }
53
- : undefined,
54
- };
55
+ }), signedPayload: signedPayload }, ((compactKeyBindingJwt && kbJwt) && { kbJwt: {
56
+ compact: compactKeyBindingJwt,
57
+ payload: kbJwt.payload,
58
+ }
59
+ }));
55
60
  }
56
61
  exports.decodeSdJwtVc = decodeSdJwtVc;
57
62
  /**
@@ -67,10 +72,7 @@ function decodeSdJwtVcAsync(compactSdJwtVc, hasher) {
67
72
  const signedPayload = jwt.payload;
68
73
  const decodedPayload = yield (0, decode_1.getClaims)(signedPayload, disclosures, hasher);
69
74
  const compactKeyBindingJwt = kbJwt ? compactSdJwtVc.split('~').pop() : undefined;
70
- return {
71
- compactSdJwtVc,
72
- decodedPayload: decodedPayload,
73
- disclosures: disclosures.map((d) => {
75
+ return Object.assign({ compactSdJwtVc, decodedPayload: decodedPayload, disclosures: disclosures.map((d) => {
74
76
  const decoded = d.key ? [d.salt, d.key, d.value] : [d.salt, d.value];
75
77
  if (!d._digest)
76
78
  throw new Error('Implementation error: digest not present in disclosure');
@@ -79,16 +81,56 @@ function decodeSdJwtVcAsync(compactSdJwtVc, hasher) {
79
81
  digest: d._digest,
80
82
  encoded: d.encode(),
81
83
  };
82
- }),
83
- signedPayload: signedPayload,
84
- kbJwt: compactKeyBindingJwt && kbJwt
85
- ? {
86
- compact: compactKeyBindingJwt,
87
- payload: kbJwt.payload,
88
- }
89
- : undefined,
90
- };
84
+ }), signedPayload: signedPayload }, ((compactKeyBindingJwt && kbJwt) && { kbJwt: {
85
+ compact: compactKeyBindingJwt,
86
+ payload: kbJwt.payload,
87
+ }
88
+ }));
91
89
  });
92
90
  }
93
91
  exports.decodeSdJwtVcAsync = decodeSdJwtVcAsync;
92
+ // TODO naive implementation of mapping a sd-jwt onto a jsonld. Needs some fixes and further implementation
93
+ function sdJwtDecodedCredentialToUniformCredential(decoded, opts) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ var _a;
96
+ const _b = decoded.decodedPayload, { exp, nbf, iss, sub, iat, vct, user, cnf, status } = _b, rest = __rest(_b, ["exp", "nbf", "iss", "sub", "iat", "vct", "user", "cnf", "status"]);
97
+ const maxSkewInMS = (_a = opts === null || opts === void 0 ? void 0 : opts.maxTimeSkewInMS) !== null && _a !== void 0 ? _a : 1500;
98
+ let expirationDate;
99
+ if (exp) {
100
+ const jwtExp = parseInt(exp.toString());
101
+ // fix seconds to millisecond for the date
102
+ expirationDate = jwtExp < 9999999999 ? new Date(jwtExp * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(jwtExp).toISOString();
103
+ }
104
+ const sdJwtIat = parseInt(iat.toString());
105
+ let issuanceDate = sdJwtIat < 9999999999 ? new Date(sdJwtIat * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(sdJwtIat).toISOString();
106
+ if (nbf) {
107
+ const sdJwtNbf = parseInt(nbf.toString());
108
+ // fix seconds to millisecs for the date
109
+ const nbfDateAsStr = sdJwtNbf < 9999999999 ? new Date(sdJwtNbf * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(sdJwtNbf).toISOString();
110
+ if (issuanceDate && issuanceDate !== nbfDateAsStr) {
111
+ const diff = Math.abs(new Date(nbfDateAsStr).getTime() - new Date(iss).getTime());
112
+ if (!maxSkewInMS || diff > maxSkewInMS) {
113
+ throw new Error(`Inconsistent issuance dates between JWT claim (${nbfDateAsStr}) and VC value (${iss})`);
114
+ }
115
+ }
116
+ issuanceDate = nbfDateAsStr;
117
+ }
118
+ const credentialSubject = decoded.disclosures.reduce((acc, item) => {
119
+ const key = item.decoded[1];
120
+ acc[key] = item.decoded[2];
121
+ return acc;
122
+ }, {});
123
+ return Object.assign(Object.assign({}, rest), { type: ['VerifiableCredential', vct], '@context': ['https://www.w3.org/2018/credentials/v1'], credentialSubject: Object.assign(Object.assign({}, (sub && { id: sub })), credentialSubject), issuanceDate,
124
+ expirationDate, issuer: iss, proof: {
125
+ type: did_1.IProofType.SdJwtProof2024,
126
+ created: nbf
127
+ ? new Date(nbf).toISOString()
128
+ : new Date().toISOString(),
129
+ proofPurpose: did_1.IProofPurpose.authentication,
130
+ verificationMethod: iss,
131
+ jwt: decoded.compactSdJwtVc,
132
+ } });
133
+ });
134
+ }
135
+ exports.sdJwtDecodedCredentialToUniformCredential = sdJwtDecodedCredentialToUniformCredential;
94
136
  //# sourceMappingURL=sd-jwt-vc.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sd-jwt-vc.js","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-jwt-vc.js","sourceRoot":"","sources":["../../src/types/sd-jwt-vc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAuF;AAEvF,+BAAiD;AA2LjD,SAAgB,kCAAkC,CAAC,EAA+B;IAChF,OAAO,EAAE,CAAC,MAAM,KAAK,WAAW,CAAA;AAClC,CAAC;AAFD,gFAEC;AAED,SAAgB,oCAAoC,CAAC,EAAiC;IACpF,OAAO,EAAE,CAAC,MAAM,KAAK,WAAW,CAAA;AAClC,CAAC;AAFD,oFAEC;AAKD;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,cAA8B,EAAE,MAAc;IAC1E,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,IAAA,wBAAe,EAAC,cAAc,EAAE,MAAM,CAAC,CAAA;IAE3E,MAAM,aAAa,GAAG,GAAG,CAAC,OAAiD,CAAA;IAC3E,MAAM,cAAc,GAAG,IAAA,sBAAa,EAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;IACxE,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAEhF,uBACE,cAAc,EACd,cAAc,EAAE,cAAyD,EACzE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjC,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;YACpE,IAAI,CAAC,CAAC,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;YACzF,OAAO;gBACL,OAAO,EAAE,OAAiC;gBAC1C,MAAM,EAAE,CAAC,CAAC,OAAO;gBACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;aACM,CAAA;QAC7B,CAAC,CAAC,EACF,aAAa,EAAE,aAAuD,IACnE,CAAC,CAAC,oBAAoB,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAC5C,OAAO,EAAE,oBAAoB;YAC7B,OAAO,EAAE,KAAK,CAAC,OAA8B;SAC9C;KACF,CAAC,EACH;AACH,CAAC;AA1BD,sCA0BC;AAED;;;;;;GAMG;AACH,SAAsB,kBAAkB,CAAC,cAA8B,EAAE,MAAmB;;QAC1F,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,MAAM,IAAA,oBAAW,EAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QAE7E,MAAM,aAAa,GAAG,GAAG,CAAC,OAAiD,CAAA;QAC3E,MAAM,cAAc,GAAG,MAAM,IAAA,kBAAS,EAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,CAAA;QAC1E,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;QAEhF,uBACE,cAAc,EACd,cAAc,EAAE,cAAyD,EACzE,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjC,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;gBACpE,IAAI,CAAC,CAAC,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;gBACzF,OAAO;oBACL,OAAO,EAAE,OAAiC;oBAC1C,MAAM,EAAE,CAAC,CAAC,OAAO;oBACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;iBACM,CAAA;YAC7B,CAAC,CAAC,EACF,aAAa,EAAE,aAAuD,IACnE,CAAC,CAAC,oBAAoB,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;gBAC5C,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,KAAK,CAAC,OAA8B;aAC9C;SACF,CAAC,EACH;IACH,CAAC;CAAA;AA1BD,gDA0BC;AAMD,2GAA2G;AAC3G,SAAsB,yCAAyC,CAAC,OAAyC,EAAE,IAAmC;;;QAC5I,MAAM,KAWF,OAAO,CAAC,cAAc,EAXpB,EACJ,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,EACH,IAAI,EACJ,GAAG,EACH,MAAM,OAEkB,EADrB,IAAI,cAVH,mEAWL,CAAyB,CAAA;QAC1B,MAAM,WAAW,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,mCAAI,IAAI,CAAA;QAEjD,IAAI,cAAc,CAAA;QAClB,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;YACvC,0CAA0C;YAC1C,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAA;QACtI,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACzC,IAAI,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;QAE5I,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;YACzC,wCAAwC;YACxC,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAA;YAC9I,IAAI,YAAY,IAAI,YAAY,KAAK,YAAY,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;gBACjF,IAAI,CAAC,WAAW,IAAI,IAAI,GAAG,WAAW,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,kDAAkD,YAAY,mBAAmB,GAAG,GAAG,CAAC,CAAA;gBAC1G,CAAC;YACH,CAAC;YACD,YAAY,GAAG,YAAY,CAAA;QAC7B,CAAC;QAED,MAAM,iBAAiB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,IAA8D,EAAE,EAAE;YACnJ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAE1B,OAAO,GAAG,CAAA;QACZ,CAAC,EAAE,EAAE,CAAC,CAAA;QAEN,uCACK,IAAI,KACP,IAAI,EAAE,CAAC,sBAAsB,EAAE,GAAG,CAAC,EACnC,UAAU,EAAE,CAAC,wCAAwC,CAAC,EACtD,iBAAiB,kCACZ,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GACpB,iBAAiB,GAEtB,YAAY;YACZ,cAAc,EACd,MAAM,EAAE,GAAG,EACX,KAAK,EAAE;gBACL,IAAI,EAAE,gBAAU,CAAC,cAAc;gBAC/B,OAAO,EAAE,GAAG;oBACV,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;oBAC7B,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,YAAY,EAAE,mBAAa,CAAC,cAAc;gBAC1C,kBAAkB,EAAE,GAAG;gBACvB,GAAG,EAAE,OAAO,CAAC,cAAc;aAC5B,IACF;IACH,CAAC;CAAA;AAlED,8FAkEC"}
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.28.1-unstable.32+bb5a590b",
4
+ "version": "0.28.1-unstable.43+8c20a257",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "scripts": {
@@ -44,5 +44,5 @@
44
44
  "Verifiable Credentials",
45
45
  "DIDs"
46
46
  ],
47
- "gitHead": "bb5a590b1f6bf1e3539b16eadaa69ee8d978259a"
47
+ "gitHead": "8c20a2570d5a0bbf33b505d5ef02b653d35c1a04"
48
48
  }
@@ -1,10 +1,19 @@
1
1
  import jwt_decode from 'jwt-decode'
2
2
  import {
3
+ AsyncHasher,
4
+ decodeSdJwtVc,
5
+ decodeSdJwtVcAsync,
3
6
  DocumentFormat,
7
+ Hasher,
8
+ ICredential,
4
9
  IPresentation,
5
10
  IProof,
6
11
  IProofPurpose,
7
12
  IProofType,
13
+ isWrappedSdJwtVerifiableCredential,
14
+ isWrappedSdJwtVerifiablePresentation,
15
+ isWrappedW3CVerifiableCredential,
16
+ isWrappedW3CVerifiablePresentation,
8
17
  IVerifiableCredential,
9
18
  IVerifiablePresentation,
10
19
  JwtDecodedVerifiableCredential,
@@ -12,27 +21,17 @@ import {
12
21
  OriginalType,
13
22
  OriginalVerifiableCredential,
14
23
  OriginalVerifiablePresentation,
24
+ SdJwtDecodedVerifiableCredential,
25
+ SdJwtDecodedVerifiableCredentialPayload,
15
26
  UniformVerifiablePresentation,
16
27
  W3CVerifiableCredential,
17
28
  W3CVerifiablePresentation,
29
+ WrappedSdJwtVerifiableCredential,
18
30
  WrappedVerifiableCredential,
19
31
  WrappedVerifiablePresentation,
20
- SdJwtDecodedVerifiableCredential,
21
- SdJwtDecodedVerifiableCredentialPayload,
22
- ICredential,
23
- WrappedSdJwtVerifiableCredential,
24
- WrappedW3CVerifiableCredential,
25
- isWrappedSdJwtVerifiableCredential,
26
- isWrappedSdJwtVerifiablePresentation,
27
- isWrappedW3CVerifiableCredential,
28
- isWrappedW3CVerifiablePresentation,
29
- Hasher,
30
- decodeSdJwtVc,
31
- decodeSdJwtVcAsync,
32
- AsyncHasher,
32
+ WrappedW3CVerifiableCredential
33
33
  } from '../types'
34
34
  import { ObjectUtils } from '../utils'
35
- import { IssuerType } from '@veramo/core'
36
35
 
37
36
  export class CredentialMapper {
38
37
  /**
@@ -54,7 +53,7 @@ export class CredentialMapper {
54
53
  */
55
54
  static decodeVerifiablePresentation(
56
55
  presentation: OriginalVerifiablePresentation,
57
- hasher?: Hasher
56
+ hasher?: Hasher,
58
57
  ): JwtDecodedVerifiablePresentation | IVerifiablePresentation | SdJwtDecodedVerifiableCredential {
59
58
  if (CredentialMapper.isJwtEncoded(presentation)) {
60
59
  const payload = jwt_decode(presentation as string) as JwtDecodedVerifiablePresentation
@@ -95,7 +94,7 @@ export class CredentialMapper {
95
94
  */
96
95
  static decodeVerifiableCredential(
97
96
  credential: OriginalVerifiableCredential,
98
- hasher?: Hasher
97
+ hasher?: Hasher,
99
98
  ): JwtDecodedVerifiableCredential | IVerifiableCredential | SdJwtDecodedVerifiableCredential {
100
99
  if (CredentialMapper.isJwtEncoded(credential)) {
101
100
  const payload = jwt_decode(credential as string) as JwtDecodedVerifiableCredential
@@ -135,7 +134,7 @@ export class CredentialMapper {
135
134
  */
136
135
  static toWrappedVerifiablePresentation(
137
136
  originalPresentation: OriginalVerifiablePresentation,
138
- opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }
137
+ opts?: { maxTimeSkewInMS?: number; hasher?: Hasher },
139
138
  ): WrappedVerifiablePresentation {
140
139
  // SD-JWT
141
140
  if (CredentialMapper.isSdJwtDecodedCredential(originalPresentation) || CredentialMapper.isSdJwtEncoded(originalPresentation)) {
@@ -165,7 +164,7 @@ export class CredentialMapper {
165
164
  typeof originalPresentation !== 'string' && CredentialMapper.hasJWTProofType(originalPresentation) ? proof?.jwt : originalPresentation
166
165
  if (!original) {
167
166
  throw Error(
168
- 'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof'
167
+ 'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof',
169
168
  )
170
169
  }
171
170
  const decoded = CredentialMapper.decodeVerifiablePresentation(original) as IVerifiablePresentation | JwtDecodedVerifiablePresentation
@@ -193,7 +192,7 @@ export class CredentialMapper {
193
192
  ? []
194
193
  : (CredentialMapper.toWrappedVerifiableCredentials(
195
194
  vp.verifiableCredential ?? [] /*.map(value => value.original)*/,
196
- opts
195
+ opts,
197
196
  ) as WrappedW3CVerifiableCredential[])
198
197
 
199
198
  const presentation = {
@@ -221,7 +220,7 @@ export class CredentialMapper {
221
220
  */
222
221
  static toWrappedVerifiableCredentials(
223
222
  verifiableCredentials: OriginalVerifiableCredential[],
224
- opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }
223
+ opts?: { maxTimeSkewInMS?: number; hasher?: Hasher },
225
224
  ): WrappedVerifiableCredential[] {
226
225
  return verifiableCredentials.map((vc) => CredentialMapper.toWrappedVerifiableCredential(vc, opts))
227
226
  }
@@ -235,10 +234,7 @@ export class CredentialMapper {
235
234
  *
236
235
  * @param hasher Hasher implementation to use for SD-JWT decoding
237
236
  */
238
- static toWrappedVerifiableCredential(
239
- verifiableCredential: OriginalVerifiableCredential,
240
- opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }
241
- ): WrappedVerifiableCredential {
237
+ static toWrappedVerifiableCredential(verifiableCredential: OriginalVerifiableCredential, opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }): WrappedVerifiableCredential {
242
238
  // SD-JWT
243
239
  if (CredentialMapper.isSdJwtDecodedCredential(verifiableCredential) || CredentialMapper.isSdJwtEncoded(verifiableCredential)) {
244
240
  let decodedCredential: SdJwtDecodedVerifiableCredential
@@ -265,7 +261,7 @@ export class CredentialMapper {
265
261
  const original = CredentialMapper.hasJWTProofType(verifiableCredential) && proof ? (proof.jwt ?? verifiableCredential) : verifiableCredential
266
262
  if (!original) {
267
263
  throw Error(
268
- 'Could not determine original credential, probably it was a converted JWT credential, that is now missing the JWT value in the proof'
264
+ 'Could not determine original credential, probably it was a converted JWT credential, that is now missing the JWT value in the proof',
269
265
  )
270
266
  }
271
267
  const decoded = CredentialMapper.decodeVerifiableCredential(original) as JwtDecodedVerifiableCredential | IVerifiableCredential
@@ -360,13 +356,13 @@ export class CredentialMapper {
360
356
  }
361
357
 
362
358
  public static isW3cPresentation(
363
- presentation: UniformVerifiablePresentation | IPresentation | SdJwtDecodedVerifiableCredential
359
+ presentation: UniformVerifiablePresentation | IPresentation | SdJwtDecodedVerifiableCredential,
364
360
  ): presentation is IPresentation {
365
361
  return '@context' in presentation && ((presentation as IPresentation).type?.includes('VerifiablePresentation') || false)
366
362
  }
367
363
 
368
364
  public static isSdJwtDecodedCredentialPayload(
369
- credential: ICredential | SdJwtDecodedVerifiableCredentialPayload
365
+ credential: ICredential | SdJwtDecodedVerifiableCredentialPayload,
370
366
  ): credential is SdJwtDecodedVerifiableCredentialPayload {
371
367
  return 'vct' in credential
372
368
  }
@@ -388,7 +384,7 @@ export class CredentialMapper {
388
384
  }
389
385
 
390
386
  public static isSdJwtDecodedCredential(
391
- original: OriginalVerifiableCredential | OriginalVerifiablePresentation | ICredential | IPresentation
387
+ original: OriginalVerifiableCredential | OriginalVerifiablePresentation | ICredential | IPresentation,
392
388
  ): original is SdJwtDecodedVerifiableCredential {
393
389
  return (<SdJwtDecodedVerifiableCredential>original).compactSdJwtVc !== undefined
394
390
  }
@@ -409,7 +405,7 @@ export class CredentialMapper {
409
405
  static jwtEncodedPresentationToUniformPresentation(
410
406
  jwt: string,
411
407
  makeCredentialsUniform: boolean = true,
412
- opts?: { maxTimeSkewInMS?: number }
408
+ opts?: { maxTimeSkewInMS?: number },
413
409
  ): IPresentation {
414
410
  return CredentialMapper.jwtDecodedPresentationToUniformPresentation(jwt_decode(jwt), makeCredentialsUniform, opts)
415
411
  }
@@ -417,7 +413,7 @@ export class CredentialMapper {
417
413
  static jwtDecodedPresentationToUniformPresentation(
418
414
  decoded: JwtDecodedVerifiablePresentation,
419
415
  makeCredentialsUniform: boolean = true,
420
- opts?: { maxTimeSkewInMS?: number }
416
+ opts?: { maxTimeSkewInMS?: number },
421
417
  ): IVerifiablePresentation {
422
418
  const { iss, aud, jti, vp, ...rest } = decoded
423
419
 
@@ -462,22 +458,23 @@ export class CredentialMapper {
462
458
  static toUniformCredential(
463
459
  verifiableCredential: OriginalVerifiableCredential,
464
460
  opts?: {
465
- maxTimeSkewInMS?: number
466
- }
461
+ maxTimeSkewInMS?: number,
462
+ hasher?: Hasher
463
+ },
467
464
  ): IVerifiableCredential {
468
465
  if (CredentialMapper.isSdJwtDecodedCredential(verifiableCredential)) {
469
466
  throw new Error('Converting SD-JWT VC to uniform VC is not supported.')
470
467
  }
471
468
  const original =
472
- typeof verifiableCredential !== 'string' && CredentialMapper.hasJWTProofType(verifiableCredential)
469
+ typeof verifiableCredential !== 'string' && CredentialMapper.hasJWTProofType(verifiableCredential) && !CredentialMapper.isSdJwtEncoded(verifiableCredential.proof.jwt)
473
470
  ? CredentialMapper.getFirstProof(verifiableCredential)?.jwt
474
471
  : verifiableCredential
475
472
  if (!original) {
476
473
  throw Error(
477
- 'Could not determine original credential from passed in credential. Probably because a JWT proof type was present, but now is not available anymore'
474
+ 'Could not determine original credential from passed in credential. Probably because a JWT proof type was present, but now is not available anymore',
478
475
  )
479
476
  }
480
- const decoded = CredentialMapper.decodeVerifiableCredential(original)
477
+ const decoded = CredentialMapper.decodeVerifiableCredential(original, opts?.hasher)
481
478
 
482
479
  const isJwtEncoded: boolean = CredentialMapper.isJwtEncoded(original)
483
480
  const isJwtDecoded: boolean = CredentialMapper.isJwtDecodedCredential(original)
@@ -491,7 +488,7 @@ export class CredentialMapper {
491
488
 
492
489
  static toUniformPresentation(
493
490
  presentation: OriginalVerifiablePresentation,
494
- opts?: { maxTimeSkewInMS?: number; addContextIfMissing?: boolean }
491
+ opts?: { maxTimeSkewInMS?: number; addContextIfMissing?: boolean },
495
492
  ): IVerifiablePresentation {
496
493
  if (CredentialMapper.isSdJwtDecodedCredential(presentation)) {
497
494
  throw new Error('Converting SD-JWT VC to uniform VP is not supported.')
@@ -501,7 +498,7 @@ export class CredentialMapper {
501
498
  const original = typeof presentation !== 'string' && CredentialMapper.hasJWTProofType(presentation) ? proof?.jwt : presentation
502
499
  if (!original) {
503
500
  throw Error(
504
- 'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof'
501
+ 'Could not determine original presentation, probably it was a converted JWT presentation, that is now missing the JWT value in the proof',
505
502
  )
506
503
  }
507
504
  const decoded = CredentialMapper.decodeVerifiablePresentation(original)
@@ -518,7 +515,7 @@ export class CredentialMapper {
518
515
  }
519
516
 
520
517
  uniformPresentation.verifiableCredential = uniformPresentation.verifiableCredential?.map((vc) =>
521
- CredentialMapper.toUniformCredential(vc, opts)
518
+ CredentialMapper.toUniformCredential(vc, opts),
522
519
  ) as IVerifiableCredential[] // We cast it because we IPresentation needs a VC. The internal Credential doesn't have the required Proof anymore (that is intended)
523
520
  return uniformPresentation
524
521
  }
@@ -527,14 +524,14 @@ export class CredentialMapper {
527
524
  jwt: string,
528
525
  opts?: {
529
526
  maxTimeSkewInMS?: number
530
- }
527
+ },
531
528
  ): IVerifiableCredential {
532
529
  return CredentialMapper.jwtDecodedCredentialToUniformCredential(jwt_decode(jwt), opts)
533
530
  }
534
531
 
535
532
  static jwtDecodedCredentialToUniformCredential(
536
533
  decoded: JwtDecodedVerifiableCredential,
537
- opts?: { maxTimeSkewInMS?: number }
534
+ opts?: { maxTimeSkewInMS?: number },
538
535
  ): IVerifiableCredential {
539
536
  const { exp, nbf, iss, vc, sub, jti, ...rest } = decoded
540
537
  const credential: IVerifiableCredential = {
@@ -660,11 +657,17 @@ export class CredentialMapper {
660
657
  return CredentialMapper.toCompactJWT(credential)
661
658
  } else if (type === DocumentFormat.JSONLD) {
662
659
  return JSON.parse(credential)
660
+ } else if (type === DocumentFormat.SD_JWT_VC) {
661
+ return credential
663
662
  }
664
663
  } else if (type === DocumentFormat.JWT && 'vc' in credential) {
665
664
  return CredentialMapper.toCompactJWT(credential)
666
- } else if ('proof' in credential && credential.proof.type === 'JwtProof2020' && credential.proof.jwt) {
665
+ } else if ('proof' in credential && credential.proof.type === IProofType.JwtProof2020 && credential.proof.jwt) {
666
+ return credential.proof.jwt
667
+ } else if ('proof' in credential && credential.proof.type === IProofType.SdJwtProof2024 && credential.proof.jwt) {
667
668
  return credential.proof.jwt
669
+ } else if (type === DocumentFormat.SD_JWT_VC && this.isSdJwtDecodedCredential(credential)) {
670
+ return credential.compactSdJwtVc
668
671
  }
669
672
  return credential as W3CVerifiableCredential
670
673
  }
@@ -686,7 +689,7 @@ export class CredentialMapper {
686
689
  }
687
690
 
688
691
  static toCompactJWT(
689
- jwtDocument: W3CVerifiableCredential | JwtDecodedVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiablePresentation | string
692
+ jwtDocument: W3CVerifiableCredential | JwtDecodedVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiablePresentation | string,
690
693
  ): string {
691
694
  if (!jwtDocument || CredentialMapper.detectDocumentType(jwtDocument) !== DocumentFormat.JWT) {
692
695
  throw Error('Cannot convert non JWT credential to JWT')
@@ -714,7 +717,7 @@ export class CredentialMapper {
714
717
  | W3CVerifiablePresentation
715
718
  | JwtDecodedVerifiableCredential
716
719
  | JwtDecodedVerifiablePresentation
717
- | SdJwtDecodedVerifiableCredential
720
+ | SdJwtDecodedVerifiableCredential,
718
721
  ): DocumentFormat {
719
722
  if (this.isJsonLdAsString(document)) {
720
723
  return DocumentFormat.JSONLD
@@ -736,7 +739,7 @@ export class CredentialMapper {
736
739
  }
737
740
 
738
741
  private static hasJWTProofType(
739
- document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation
742
+ document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation,
740
743
  ): boolean {
741
744
  if (typeof document === 'string') {
742
745
  return false
@@ -745,7 +748,7 @@ export class CredentialMapper {
745
748
  }
746
749
 
747
750
  private static getFirstProof(
748
- document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation
751
+ document: W3CVerifiableCredential | W3CVerifiablePresentation | JwtDecodedVerifiableCredential | JwtDecodedVerifiablePresentation,
749
752
  ): IProof | undefined {
750
753
  if (!document || typeof document === 'string') {
751
754
  return undefined
@@ -753,20 +756,4 @@ export class CredentialMapper {
753
756
  const proofs = 'vc' in document ? document.vc.proof : 'vp' in document ? document.vp.proof : (<IVerifiableCredential>document).proof
754
757
  return Array.isArray(proofs) ? proofs[0] : proofs
755
758
  }
756
-
757
- static issuerCorrelationIdFromIssuerType(issuer: IssuerType): string {
758
- if (issuer === undefined) {
759
- throw new Error('Issuer type us undefined')
760
- } else if (typeof issuer === 'string') {
761
- return issuer
762
- } else if (typeof issuer === 'object') {
763
- if ('id' in issuer) {
764
- return issuer.id
765
- } else {
766
- throw new Error('Encountered an invalid issuer object: missing id property')
767
- }
768
- } else {
769
- throw new Error('Invalid issuer type')
770
- }
771
- }
772
759
  }
package/src/types/did.ts CHANGED
@@ -20,6 +20,7 @@ export enum IProofType {
20
20
  BbsBlsSignatureProof2020 = 'BbsBlsSignatureProof2020',
21
21
  BbsBlsBoundSignatureProof2020 = 'BbsBlsBoundSignatureProof2020',
22
22
  JwtProof2020 = 'JwtProof2020',
23
+ SdJwtProof2024 = 'SdJwtProof2024'
23
24
  }
24
25
 
25
26
  export interface IParsedDID {
@@ -1,6 +1,7 @@
1
1
  import { OriginalType, WrappedVerifiableCredential, WrappedVerifiablePresentation } from './vc'
2
- import { decodeSdJwtSync, decodeSdJwt, getClaims, getClaimsSync } from '@sd-jwt/decode'
3
- import { CompactJWT } from './w3c-vc'
2
+ import { decodeSdJwt, decodeSdJwtSync, getClaims, getClaimsSync } from '@sd-jwt/decode'
3
+ import { CompactJWT, IVerifiableCredential } from './w3c-vc'
4
+ import { IProofPurpose, IProofType } from './did'
4
5
 
5
6
  type JsonValue = string | number | boolean | { [x: string]: JsonValue | undefined } | Array<JsonValue>
6
7
 
@@ -225,13 +226,11 @@ export function decodeSdJwtVc(compactSdJwtVc: CompactSdJwtVc, hasher: Hasher): S
225
226
  } satisfies SdJwtDisclosure
226
227
  }),
227
228
  signedPayload: signedPayload as SdJwtSignedVerifiableCredentialPayload,
228
- kbJwt:
229
- compactKeyBindingJwt && kbJwt
230
- ? {
231
- compact: compactKeyBindingJwt,
232
- payload: kbJwt.payload as SdJwtVcKbJwtPayload,
233
- }
234
- : undefined,
229
+ ...((compactKeyBindingJwt && kbJwt) && { kbJwt: {
230
+ compact: compactKeyBindingJwt,
231
+ payload: kbJwt.payload as SdJwtVcKbJwtPayload,
232
+ }
233
+ })
235
234
  }
236
235
  }
237
236
 
@@ -262,12 +261,83 @@ export async function decodeSdJwtVcAsync(compactSdJwtVc: CompactSdJwtVc, hasher:
262
261
  } satisfies SdJwtDisclosure
263
262
  }),
264
263
  signedPayload: signedPayload as SdJwtSignedVerifiableCredentialPayload,
265
- kbJwt:
266
- compactKeyBindingJwt && kbJwt
267
- ? {
268
- compact: compactKeyBindingJwt,
269
- payload: kbJwt.payload as SdJwtVcKbJwtPayload,
270
- }
271
- : undefined,
264
+ ...((compactKeyBindingJwt && kbJwt) && { kbJwt: {
265
+ compact: compactKeyBindingJwt,
266
+ payload: kbJwt.payload as SdJwtVcKbJwtPayload,
267
+ }
268
+ })
269
+ }
270
+ }
271
+
272
+ type DisclosuresAccumulator = {
273
+ [key: string]: any;
274
+ };
275
+
276
+ // TODO naive implementation of mapping a sd-jwt onto a jsonld. Needs some fixes and further implementation
277
+ export async function sdJwtDecodedCredentialToUniformCredential(decoded: SdJwtDecodedVerifiableCredential, opts?: { maxTimeSkewInMS?: number }): Promise<IVerifiableCredential> {
278
+ const {
279
+ exp,
280
+ nbf,
281
+ iss,
282
+ sub,
283
+ iat,
284
+ vct,
285
+ user,
286
+ cnf,
287
+ status,
288
+ ...rest
289
+ } = decoded.decodedPayload
290
+ const maxSkewInMS = opts?.maxTimeSkewInMS ?? 1500
291
+
292
+ let expirationDate
293
+ if (exp) {
294
+ const jwtExp = parseInt(exp.toString())
295
+ // fix seconds to millisecond for the date
296
+ expirationDate = jwtExp < 9999999999 ? new Date(jwtExp * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(jwtExp).toISOString()
297
+ }
298
+
299
+ const sdJwtIat = parseInt(iat.toString())
300
+ let issuanceDate = sdJwtIat < 9999999999 ? new Date(sdJwtIat * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(sdJwtIat).toISOString()
301
+
302
+ if (nbf) {
303
+ const sdJwtNbf = parseInt(nbf.toString())
304
+ // fix seconds to millisecs for the date
305
+ const nbfDateAsStr = sdJwtNbf < 9999999999 ? new Date(sdJwtNbf * 1000).toISOString().replace(/\.000Z/, 'Z') : new Date(sdJwtNbf).toISOString()
306
+ if (issuanceDate && issuanceDate !== nbfDateAsStr) {
307
+ const diff = Math.abs(new Date(nbfDateAsStr).getTime() - new Date(iss).getTime())
308
+ if (!maxSkewInMS || diff > maxSkewInMS) {
309
+ throw new Error(`Inconsistent issuance dates between JWT claim (${nbfDateAsStr}) and VC value (${iss})`)
310
+ }
311
+ }
312
+ issuanceDate = nbfDateAsStr
313
+ }
314
+
315
+ const credentialSubject = decoded.disclosures.reduce((acc: DisclosuresAccumulator, item: { decoded: Array<any>, digest: string, encoded: string }) => {
316
+ const key = item.decoded[1]
317
+ acc[key] = item.decoded[2]
318
+
319
+ return acc
320
+ }, {})
321
+
322
+ return {
323
+ ...rest,
324
+ type: ['VerifiableCredential', vct],
325
+ '@context': ['https://www.w3.org/2018/credentials/v1'],
326
+ credentialSubject: {
327
+ ...(sub && { id: sub }),
328
+ ...credentialSubject
329
+ },
330
+ issuanceDate,
331
+ expirationDate,
332
+ issuer: iss,
333
+ proof: {
334
+ type: IProofType.SdJwtProof2024,
335
+ created: nbf
336
+ ? new Date(nbf).toISOString()
337
+ : new Date().toISOString(),
338
+ proofPurpose: IProofPurpose.authentication,
339
+ verificationMethod: iss,
340
+ jwt: decoded.compactSdJwtVc,
341
+ }
272
342
  }
273
343
  }