@sphereon/ssi-sdk.oid4vci-holder 0.34.1-feature.SSISDK.13.50 → 0.34.1-feature.SSISDK.13.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -139,7 +139,8 @@ var import_oid4vci_common4 = require("@sphereon/oid4vci-common");
139
139
  var import_ssi_sdk_ext5 = require("@sphereon/ssi-sdk-ext.did-utils");
140
140
  var import_ssi_sdk_ext6 = require("@sphereon/ssi-sdk-ext.identifier-resolution");
141
141
  var import_ssi_sdk_ext7 = require("@sphereon/ssi-sdk-ext.key-utils");
142
- var import_ssi_sdk2 = require("@sphereon/ssi-sdk.data-store");
142
+ var import_ssi_sdk2 = require("@sphereon/ssi-sdk.core");
143
+ var import_ssi_sdk3 = require("@sphereon/ssi-sdk.data-store");
143
144
  var import_ssi_types2 = require("@sphereon/ssi-types");
144
145
  var import_utils2 = require("@veramo/utils");
145
146
  var import_did_jwt = require("did-jwt");
@@ -2085,6 +2086,7 @@ var getIssuanceCryptoSuite = /* @__PURE__ */ __name(async (opts) => {
2085
2086
  case "jwt":
2086
2087
  case "jwt_vc_json":
2087
2088
  case "jwt_vc":
2089
+ case "vc+sd-jwt":
2088
2090
  case "dc+sd-jwt":
2089
2091
  case "mso_mdoc": {
2090
2092
  const supportedPreferences = jwtCryptographicSuitePreferences.filter((suite) => signing_algs_supported.includes(suite));
@@ -2154,7 +2156,6 @@ var startFirstPartApplicationMachine = /* @__PURE__ */ __name(async (args, conte
2154
2156
 
2155
2157
  // src/agent/OID4VCIHolder.ts
2156
2158
  var import_polyfill = require("cross-fetch/polyfill");
2157
- var import_ssi_sdk3 = require("@sphereon/ssi-sdk.core");
2158
2159
  var oid4vciHolderContextMethods = [
2159
2160
  "cmGetContacts",
2160
2161
  "cmGetContact",
@@ -2170,7 +2171,7 @@ var oid4vciHolderContextMethods = [
2170
2171
  ];
2171
2172
  var logger = import_ssi_types2.Loggers.DEFAULT.get("sphereon:oid4vci:holder");
2172
2173
  function signCallback(identifier, context, nonce) {
2173
- return async (jwt, kid) => {
2174
+ return async (jwt, kid, noIssPayloadUpdate) => {
2174
2175
  let resolution = await context.agent.identifierManagedGet(identifier);
2175
2176
  const jwk = jwt.header.jwk ?? (resolution.method === "jwk" ? resolution.jwk : void 0);
2176
2177
  if (!resolution.issuer && !jwt.payload.iss) {
@@ -2188,7 +2189,7 @@ function signCallback(identifier, context, nonce) {
2188
2189
  return (await context.agent.jwtCreateJwsCompactSignature({
2189
2190
  issuer: {
2190
2191
  ...resolution,
2191
- noIssPayloadUpdate: false
2192
+ noIssPayloadUpdate: noIssPayloadUpdate ?? false
2192
2193
  },
2193
2194
  protectedHeader: header,
2194
2195
  payload
@@ -2224,6 +2225,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
2224
2225
  };
2225
2226
  vcFormatPreferences = [
2226
2227
  "dc+sd-jwt",
2228
+ "vc+sd-jwt",
2227
2229
  "mso_mdoc",
2228
2230
  "jwt_vc_json",
2229
2231
  "jwt_vc",
@@ -2256,7 +2258,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
2256
2258
  onIdentifierCreated;
2257
2259
  onVerifyEBSICredentialIssuer;
2258
2260
  constructor(options) {
2259
- const { onContactIdentityCreated, onCredentialStored, onIdentifierCreated, onVerifyEBSICredentialIssuer, vcFormatPreferences, jsonldCryptographicSuitePreferences, didMethodPreferences, jwtCryptographicSuitePreferences, defaultAuthorizationRequestOptions, hasher = import_ssi_sdk3.defaultHasher } = {
2261
+ const { onContactIdentityCreated, onCredentialStored, onIdentifierCreated, onVerifyEBSICredentialIssuer, vcFormatPreferences, jsonldCryptographicSuitePreferences, didMethodPreferences, jwtCryptographicSuitePreferences, defaultAuthorizationRequestOptions, hasher = import_ssi_sdk2.defaultHasher } = {
2260
2262
  ...options
2261
2263
  };
2262
2264
  this.hasher = hasher;
@@ -2637,26 +2639,26 @@ var OID4VCIHolder = class _OID4VCIHolder {
2637
2639
  return Promise.reject(Error("Missing credential offers in context"));
2638
2640
  }
2639
2641
  let correlationId = credentialsToAccept[0].correlationId;
2640
- let identifierType = import_ssi_sdk2.CorrelationIdentifierType.DID;
2642
+ let identifierType = import_ssi_sdk3.CorrelationIdentifierType.DID;
2641
2643
  if (!correlationId.toLowerCase().startsWith("did:")) {
2642
- identifierType = import_ssi_sdk2.CorrelationIdentifierType.URL;
2644
+ identifierType = import_ssi_sdk3.CorrelationIdentifierType.URL;
2643
2645
  if (correlationId.startsWith("http")) {
2644
2646
  correlationId = new URL(correlationId).hostname;
2645
2647
  }
2646
2648
  }
2647
2649
  const identity = {
2648
2650
  alias: credentialsToAccept[0].correlationId,
2649
- origin: import_ssi_sdk2.IdentityOrigin.EXTERNAL,
2651
+ origin: import_ssi_sdk3.IdentityOrigin.EXTERNAL,
2650
2652
  roles: [
2651
- import_ssi_sdk2.CredentialRole.ISSUER
2653
+ import_ssi_sdk3.CredentialRole.ISSUER
2652
2654
  ],
2653
2655
  identifier: {
2654
2656
  type: identifierType,
2655
2657
  correlationId
2656
2658
  },
2657
- ...identifierType === import_ssi_sdk2.CorrelationIdentifierType.URL && {
2659
+ ...identifierType === import_ssi_sdk3.CorrelationIdentifierType.URL && {
2658
2660
  connection: {
2659
- type: import_ssi_sdk2.ConnectionType.OPENID_CONNECT,
2661
+ type: import_ssi_sdk3.ConnectionType.OPENID_CONNECT,
2660
2662
  config: {
2661
2663
  clientId: "138d7bf8-c930-4c6e-b928-97d3a4928b01",
2662
2664
  clientSecret: "03b3955f-d020-4f2a-8a27-4e452d4e27a0",
@@ -2683,7 +2685,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
2683
2685
  }
2684
2686
  async oid4vciHolderGetIssuerBranding(args, context) {
2685
2687
  const { serverMetadata, contact } = args;
2686
- const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_sdk2.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
2688
+ const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_sdk3.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
2687
2689
  if (issuerCorrelationId) {
2688
2690
  const branding = await context.agent.ibGetIssuerBranding({
2689
2691
  filter: [
@@ -2713,7 +2715,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
2713
2715
  if (!contact) {
2714
2716
  return Promise.reject(Error("Missing contact in context"));
2715
2717
  }
2716
- const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_sdk2.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
2718
+ const issuerCorrelationId = contact?.identities.filter((identity) => identity.roles.includes(import_ssi_sdk3.CredentialRole.ISSUER)).map((identity) => identity.identifier.correlationId)[0];
2717
2719
  const branding = await context.agent.ibGetIssuerBranding({
2718
2720
  filter: [
2719
2721
  {
@@ -2820,7 +2822,7 @@ var OID4VCIHolder = class _OID4VCIHolder {
2820
2822
  return Promise.reject(Error("No credential found in credential response"));
2821
2823
  }
2822
2824
  const wrappedIssuerVC = import_ssi_types2.CredentialMapper.toWrappedVerifiableCredential(issuerVC, {
2823
- hasher: this.hasher ?? import_ssi_sdk3.defaultHasher
2825
+ hasher: this.hasher ?? import_ssi_sdk2.defaultHasher
2824
2826
  });
2825
2827
  console.log(`Wrapped VC: ${wrappedIssuerVC.type}, ${wrappedIssuerVC.format}`);
2826
2828
  let issuer;
@@ -2921,11 +2923,11 @@ var OID4VCIHolder = class _OID4VCIHolder {
2921
2923
  const [subjectCorrelationType, subjectCorrelationId] = this.determineSubjectCorrelation(issuanceOpt.identifier, issuer);
2922
2924
  const persistedCredential = await context.agent.crsAddCredential({
2923
2925
  credential: {
2924
- rawDocument: (0, import_ssi_sdk2.ensureRawDocument)(persistCredential),
2926
+ rawDocument: (0, import_ssi_sdk3.ensureRawDocument)(persistCredential),
2925
2927
  kmsKeyRef,
2926
2928
  identifierMethod: method,
2927
- credentialRole: import_ssi_sdk2.CredentialRole.HOLDER,
2928
- issuerCorrelationType: issuer?.startsWith("did:") ? import_ssi_sdk2.CredentialCorrelationType.DID : import_ssi_sdk2.CredentialCorrelationType.URL,
2929
+ credentialRole: import_ssi_sdk3.CredentialRole.HOLDER,
2930
+ issuerCorrelationType: issuer?.startsWith("did:") ? import_ssi_sdk3.CredentialCorrelationType.DID : import_ssi_sdk3.CredentialCorrelationType.URL,
2929
2931
  issuerCorrelationId: issuer,
2930
2932
  subjectCorrelationType,
2931
2933
  subjectCorrelationId
@@ -2993,12 +2995,12 @@ var OID4VCIHolder = class _OID4VCIHolder {
2993
2995
  case "did":
2994
2996
  if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierDidResult)(identifier)) {
2995
2997
  return [
2996
- import_ssi_sdk2.CredentialCorrelationType.DID,
2998
+ import_ssi_sdk3.CredentialCorrelationType.DID,
2997
2999
  identifier.did
2998
3000
  ];
2999
3001
  } else if ((0, import_ssi_sdk_ext6.isManagedIdentifierDidOpts)(identifier)) {
3000
3002
  return [
3001
- import_ssi_sdk2.CredentialCorrelationType.DID,
3003
+ import_ssi_sdk3.CredentialCorrelationType.DID,
3002
3004
  typeof identifier.identifier === "string" ? identifier.identifier : identifier.identifier.did
3003
3005
  ];
3004
3006
  }
@@ -3006,12 +3008,12 @@ var OID4VCIHolder = class _OID4VCIHolder {
3006
3008
  case "kid":
3007
3009
  if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierKidResult)(identifier)) {
3008
3010
  return [
3009
- import_ssi_sdk2.CredentialCorrelationType.KID,
3011
+ import_ssi_sdk3.CredentialCorrelationType.KID,
3010
3012
  identifier.kid
3011
3013
  ];
3012
3014
  } else if ((0, import_ssi_sdk_ext6.isManagedIdentifierDidOpts)(identifier)) {
3013
3015
  return [
3014
- import_ssi_sdk2.CredentialCorrelationType.KID,
3016
+ import_ssi_sdk3.CredentialCorrelationType.KID,
3015
3017
  identifier.identifier
3016
3018
  ];
3017
3019
  }
@@ -3019,19 +3021,19 @@ var OID4VCIHolder = class _OID4VCIHolder {
3019
3021
  case "x5c":
3020
3022
  if ((0, import_ssi_sdk_ext6.isManagedIdentifierResult)(identifier) && (0, import_ssi_sdk_ext6.isManagedIdentifierX5cResult)(identifier)) {
3021
3023
  return [
3022
- import_ssi_sdk2.CredentialCorrelationType.X509_SAN,
3024
+ import_ssi_sdk3.CredentialCorrelationType.X509_SAN,
3023
3025
  identifier.x5c.join("\r\n")
3024
3026
  ];
3025
3027
  } else if ((0, import_ssi_sdk_ext6.isManagedIdentifierX5cOpts)(identifier)) {
3026
3028
  return [
3027
- import_ssi_sdk2.CredentialCorrelationType.X509_SAN,
3029
+ import_ssi_sdk3.CredentialCorrelationType.X509_SAN,
3028
3030
  identifier.identifier.join("\r\n")
3029
3031
  ];
3030
3032
  }
3031
3033
  break;
3032
3034
  }
3033
3035
  return [
3034
- import_ssi_sdk2.CredentialCorrelationType.URL,
3036
+ import_ssi_sdk3.CredentialCorrelationType.URL,
3035
3037
  issuer
3036
3038
  ];
3037
3039
  }