@pagopa/io-react-native-wallet 2.0.0-next.4 → 2.0.0-next.6

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.
Files changed (76) hide show
  1. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +3 -3
  2. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  3. package/lib/commonjs/credential/status/{02-status-attestation.js → 02-status-assertion.js} +28 -22
  4. package/lib/commonjs/credential/status/02-status-assertion.js.map +1 -0
  5. package/lib/commonjs/credential/status/03-verify-and-parse-status-assertion.js +85 -0
  6. package/lib/commonjs/credential/status/03-verify-and-parse-status-assertion.js.map +1 -0
  7. package/lib/commonjs/credential/status/README.md +22 -20
  8. package/lib/commonjs/credential/status/index.js +6 -6
  9. package/lib/commonjs/credential/status/index.js.map +1 -1
  10. package/lib/commonjs/credential/status/types.js +48 -15
  11. package/lib/commonjs/credential/status/types.js.map +1 -1
  12. package/lib/commonjs/trust/types.js +2 -1
  13. package/lib/commonjs/trust/types.js.map +1 -1
  14. package/lib/commonjs/utils/credentials.js +33 -0
  15. package/lib/commonjs/utils/credentials.js.map +1 -0
  16. package/lib/commonjs/utils/crypto.js +1 -7
  17. package/lib/commonjs/utils/crypto.js.map +1 -1
  18. package/lib/commonjs/utils/jwk.js +12 -0
  19. package/lib/commonjs/utils/jwk.js.map +1 -1
  20. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +4 -4
  21. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  22. package/lib/module/credential/status/{02-status-attestation.js → 02-status-assertion.js} +28 -22
  23. package/lib/module/credential/status/02-status-assertion.js.map +1 -0
  24. package/lib/module/credential/status/03-verify-and-parse-status-assertion.js +78 -0
  25. package/lib/module/credential/status/03-verify-and-parse-status-assertion.js.map +1 -0
  26. package/lib/module/credential/status/README.md +22 -20
  27. package/lib/module/credential/status/index.js +3 -3
  28. package/lib/module/credential/status/index.js.map +1 -1
  29. package/lib/module/credential/status/types.js +43 -12
  30. package/lib/module/credential/status/types.js.map +1 -1
  31. package/lib/module/trust/types.js +2 -1
  32. package/lib/module/trust/types.js.map +1 -1
  33. package/lib/module/utils/credentials.js +26 -0
  34. package/lib/module/utils/credentials.js.map +1 -0
  35. package/lib/module/utils/crypto.js +2 -8
  36. package/lib/module/utils/crypto.js.map +1 -1
  37. package/lib/module/utils/jwk.js +11 -1
  38. package/lib/module/utils/jwk.js.map +1 -1
  39. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  40. package/lib/typescript/credential/status/02-status-assertion.d.ts +23 -0
  41. package/lib/typescript/credential/status/02-status-assertion.d.ts.map +1 -0
  42. package/lib/typescript/credential/status/03-verify-and-parse-status-assertion.d.ts +21 -0
  43. package/lib/typescript/credential/status/03-verify-and-parse-status-assertion.d.ts.map +1 -0
  44. package/lib/typescript/credential/status/index.d.ts +4 -4
  45. package/lib/typescript/credential/status/index.d.ts.map +1 -1
  46. package/lib/typescript/credential/status/types.d.ts +495 -18
  47. package/lib/typescript/credential/status/types.d.ts.map +1 -1
  48. package/lib/typescript/trust/build-chain.d.ts +2 -2
  49. package/lib/typescript/trust/types.d.ts +26 -26
  50. package/lib/typescript/utils/credentials.d.ts +11 -0
  51. package/lib/typescript/utils/credentials.d.ts.map +1 -0
  52. package/lib/typescript/utils/crypto.d.ts.map +1 -1
  53. package/lib/typescript/utils/jwk.d.ts +7 -0
  54. package/lib/typescript/utils/jwk.d.ts.map +1 -1
  55. package/package.json +6 -8
  56. package/src/credential/issuance/07-verify-and-parse-credential.ts +4 -6
  57. package/src/credential/status/{02-status-attestation.ts → 02-status-assertion.ts} +37 -28
  58. package/src/credential/status/03-verify-and-parse-status-assertion.ts +109 -0
  59. package/src/credential/status/README.md +22 -20
  60. package/src/credential/status/index.ts +7 -14
  61. package/src/credential/status/types.ts +62 -15
  62. package/src/trust/types.ts +1 -1
  63. package/src/utils/credentials.ts +29 -0
  64. package/src/utils/crypto.ts +12 -20
  65. package/src/utils/jwk.ts +15 -1
  66. package/lib/commonjs/credential/status/02-status-attestation.js.map +0 -1
  67. package/lib/commonjs/credential/status/03-verify-and-parse-status-attestation.js +0 -55
  68. package/lib/commonjs/credential/status/03-verify-and-parse-status-attestation.js.map +0 -1
  69. package/lib/module/credential/status/02-status-attestation.js.map +0 -1
  70. package/lib/module/credential/status/03-verify-and-parse-status-attestation.js +0 -49
  71. package/lib/module/credential/status/03-verify-and-parse-status-attestation.js.map +0 -1
  72. package/lib/typescript/credential/status/02-status-attestation.d.ts +0 -19
  73. package/lib/typescript/credential/status/02-status-attestation.d.ts.map +0 -1
  74. package/lib/typescript/credential/status/03-verify-and-parse-status-attestation.d.ts +0 -24
  75. package/lib/typescript/credential/status/03-verify-and-parse-status-attestation.d.ts.map +0 -1
  76. package/src/credential/status/03-verify-and-parse-status-attestation.ts +0 -70
@@ -1,7 +1,6 @@
1
- import { getPublicKey, sign, generate, deleteKey } from "@pagopa/io-react-native-crypto";
1
+ import { deleteKey, generate, getPublicKeyFixed, sign } from "@pagopa/io-react-native-crypto";
2
2
  import { v4 as uuidv4 } from "uuid";
3
3
  import { thumbprint } from "@pagopa/io-react-native-jwt";
4
- import { fixBase64EncodingOnKey } from "./jwk";
5
4
 
6
5
  /**
7
6
  * Create a CryptoContext bound to a key pair.
@@ -12,13 +11,8 @@ import { fixBase64EncodingOnKey } from "./jwk";
12
11
  */
13
12
  export const createCryptoContextFor = keytag => {
14
13
  return {
15
- /**
16
- * Retrieve the public key of the pair.
17
- * If the key pair doesn't exist yet, an error is raised
18
- * @returns The public key.
19
- */
20
14
  async getPublicKey() {
21
- return getPublicKey(keytag).then(fixBase64EncodingOnKey).then(async jwk => ({
15
+ return getPublicKeyFixed(keytag).then(async jwk => ({
22
16
  ...jwk,
23
17
  // Keys in the TEE are not stored with their KID, which is supposed to be assigned when they are included in JWK sets.
24
18
  // (that is, KID is not a propoerty of the key itself, but it's property used to identify a key in a set).
@@ -1 +1 @@
1
- {"version":3,"names":["getPublicKey","sign","generate","deleteKey","v4","uuidv4","thumbprint","fixBase64EncodingOnKey","createCryptoContextFor","keytag","then","jwk","kid","getSignature","value","withEphemeralKey","fn","ephemeralContext","finally"],"sourceRoot":"../../../src","sources":["utils/crypto.ts"],"mappings":"AAAA,SACEA,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,SAAS,QACJ,gCAAgC;AACvC,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAASC,UAAU,QAA4B,6BAA6B;AAC5E,SAASC,sBAAsB,QAAQ,OAAO;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAIC,MAAc,IAAoB;EACvE,OAAO;IACL;AACJ;AACA;AACA;AACA;IACI,MAAMT,YAAYA,CAAA,EAAG;MACnB,OAAOA,YAAY,CAACS,MAAM,CAAC,CACxBC,IAAI,CAACH,sBAAsB,CAAC,CAC5BG,IAAI,CAAC,MAAOC,GAAG,KAAM;QACpB,GAAGA,GAAG;QACN;QACA;QACA;QACA;QACAC,GAAG,EAAE,MAAMN,UAAU,CAACK,GAAG;MAC3B,CAAC,CAAC,CAAC;IACP,CAAC;IACD;AACJ;AACA;AACA;AACA;AACA;IACI,MAAME,YAAYA,CAACC,KAAa,EAAE;MAChC,OAAOb,IAAI,CAACa,KAAK,EAAEL,MAAM,CAAC;IAC5B;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMM,gBAAgB,GAAG,MAC9BC,EAAmD,IACpC;EACf;EACA,MAAMP,MAAM,GAAI,aAAYJ,MAAM,CAAC,CAAE,EAAC;EACtC,MAAMH,QAAQ,CAACO,MAAM,CAAC;EACtB,MAAMQ,gBAAgB,GAAGT,sBAAsB,CAACC,MAAM,CAAC;EACvD,OAAOO,EAAE,CAACC,gBAAgB,CAAC,CAACC,OAAO,CAAC,MAAMf,SAAS,CAACM,MAAM,CAAC,CAAC;AAC9D,CAAC"}
1
+ {"version":3,"names":["deleteKey","generate","getPublicKeyFixed","sign","v4","uuidv4","thumbprint","createCryptoContextFor","keytag","getPublicKey","then","jwk","kid","getSignature","value","withEphemeralKey","fn","ephemeralContext","finally"],"sourceRoot":"../../../src","sources":["utils/crypto.ts"],"mappings":"AAAA,SACEA,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjBC,IAAI,QACC,gCAAgC;AACvC,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAA6BC,UAAU,QAAQ,6BAA6B;;AAE5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAIC,MAAc,IAAoB;EACvE,OAAO;IACL,MAAMC,YAAYA,CAAA,EAAG;MACnB,OAAOP,iBAAiB,CAACM,MAAM,CAAC,CAACE,IAAI,CAAC,MAAOC,GAAG,KAAM;QACpD,GAAGA,GAAG;QACN;QACA;QACA;QACA;QACAC,GAAG,EAAE,MAAMN,UAAU,CAACK,GAAG;MAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IACD;AACJ;AACA;AACA;AACA;AACA;IACI,MAAME,YAAYA,CAACC,KAAa,EAAE;MAChC,OAAOX,IAAI,CAACW,KAAK,EAAEN,MAAM,CAAC;IAC5B;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,gBAAgB,GAAG,MAC9BC,EAAmD,IACpC;EACf;EACA,MAAMR,MAAM,GAAI,aAAYH,MAAM,CAAC,CAAE,EAAC;EACtC,MAAMJ,QAAQ,CAACO,MAAM,CAAC;EACtB,MAAMS,gBAAgB,GAAGV,sBAAsB,CAACC,MAAM,CAAC;EACvD,OAAOQ,EAAE,CAACC,gBAAgB,CAAC,CAACC,OAAO,CAAC,MAAMlB,SAAS,CAACQ,MAAM,CAAC,CAAC;AAC9D,CAAC"}
@@ -1,4 +1,4 @@
1
- import { removePadding } from "@pagopa/io-react-native-jwt";
1
+ import { removePadding, thumbprint } from "@pagopa/io-react-native-jwt";
2
2
  import { z } from "zod";
3
3
  export const JWK = z.object({
4
4
  /** JWK "alg" (Algorithm) Parameter. */
@@ -72,4 +72,14 @@ export function fixBase64EncodingOnKey(key) {
72
72
  export const JWKS = z.object({
73
73
  keys: z.array(JWK)
74
74
  });
75
+ /**
76
+ * Utility function that checks if two JWKs have the same thumbprint.
77
+ * @param jwkA The first JWK
78
+ * @param jwkB The second JWK
79
+ * @returns Whether the thumbprints match
80
+ */
81
+ export const isSameThumbprint = async (jwkA, jwkB) => {
82
+ const [thumbprintJwkA, thumbprintJwkB] = await Promise.all([thumbprint(jwkA), thumbprint(jwkB)]);
83
+ return thumbprintJwkA === thumbprintJwkB;
84
+ };
75
85
  //# sourceMappingURL=jwk.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["removePadding","z","JWK","object","alg","string","optional","crv","d","dp","dq","e","ext","boolean","k","key_ops","array","kid","kty","union","literal","n","p","q","qi","use","x","y","x5c","x5t","x5u","fixBase64EncodingOnKey","key","pk","JWKS","keys"],"sourceRoot":"../../../src","sources":["utils/jwk.ts"],"mappings":"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"}
1
+ {"version":3,"names":["removePadding","thumbprint","z","JWK","object","alg","string","optional","crv","d","dp","dq","e","ext","boolean","k","key_ops","array","kid","kty","union","literal","n","p","q","qi","use","x","y","x5c","x5t","x5u","fixBase64EncodingOnKey","key","pk","JWKS","keys","isSameThumbprint","jwkA","jwkB","thumbprintJwkA","thumbprintJwkB","Promise","all"],"sourceRoot":"../../../src","sources":["utils/jwk.ts"],"mappings":"AAAA,SAAiBA,aAAa,EAAEC,UAAU,QAAQ,6BAA6B;AAC/E,SAASC,CAAC,QAAQ,KAAK;AAGvB,OAAO,MAAMC,GAAG,GAAGD,CAAC,CAACE,MAAM,CAAC;EAC1B;EACAC,GAAG,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1BC,GAAG,EAAEN,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1BE,CAAC,EAAEP,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBG,EAAE,EAAER,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACzBI,EAAE,EAAET,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACzBK,CAAC,EAAEV,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxB;EACAM,GAAG,EAAEX,CAAC,CAACY,OAAO,CAAC,CAAC,CAACP,QAAQ,CAAC,CAAC;EAC3BQ,CAAC,EAAEb,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxB;EACAS,OAAO,EAAEd,CAAC,CAACe,KAAK,CAACf,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACvC;EACAW,GAAG,EAAEhB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1B;AACF;AACA;EACEY,GAAG,EAAEjB,CAAC,CAACkB,KAAK,CAAC,CAAClB,CAAC,CAACmB,OAAO,CAAC,KAAK,CAAC,EAAEnB,CAAC,CAACmB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;EACjDC,CAAC,EAAEpB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBgB,CAAC,EAAErB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBiB,CAAC,EAAEtB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBkB,EAAE,EAAEvB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACzB;EACAmB,GAAG,EAAExB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1BoB,CAAC,EAAEzB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBqB,CAAC,EAAE1B,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxB;EACAsB,GAAG,EAAE3B,CAAC,CAACe,KAAK,CAACf,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACnC;EACAuB,GAAG,EAAE5B,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1B;EACA,UAAU,EAAEL,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACjC;EACAwB,GAAG,EAAE7B,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC3B,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASyB,sBAAsBA,CAACC,GAAQ,EAAO;EACpD,MAAM;IAAEN,CAAC;IAAEC,CAAC;IAAEhB,CAAC;IAAEU,CAAC;IAAE,GAAGY;EAAG,CAAC,GAAGD,GAAG;EAEjC,OAAO;IACL,GAAGC,EAAE;IACL,IAAIP,CAAC,GAAG;MAAEA,CAAC,EAAE3B,aAAa,CAAC2B,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,IAAIC,CAAC,GAAG;MAAEA,CAAC,EAAE5B,aAAa,CAAC4B,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,IAAIhB,CAAC,GAAG;MAAEA,CAAC,EAAEZ,aAAa,CAACY,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,IAAIU,CAAC,GAAG;MAAEA,CAAC,EAAEtB,aAAa,CAACsB,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC;EACtC,CAAC;AACH;AAGA,OAAO,MAAMa,IAAI,GAAGjC,CAAC,CAACE,MAAM,CAAC;EAC3BgC,IAAI,EAAElC,CAAC,CAACe,KAAK,CAACd,GAAG;AACnB,CAAC,CAAC;AAIF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMkC,gBAAgB,GAAG,MAAAA,CAAOC,IAAS,EAAEC,IAAS,KAAK;EAC9D,MAAM,CAACC,cAAc,EAAEC,cAAc,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACzD1C,UAAU,CAACqC,IAAI,CAAC,EAChBrC,UAAU,CAACsC,IAAI,CAAC,CACjB,CAAC;EACF,OAAOC,cAAc,KAAKC,cAAc;AAC1C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"07-verify-and-parse-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/07-verify-and-parse-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAMtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,KAAK,UAAU,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,CAAC;AAIzD,MAAM,MAAM,wBAAwB,GAAG,CACrC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,yBAAyB,EAAE,MAAM,EACjC,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,KACE,OAAO,CAAC;IACX,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;CAC5B,CAAC,CAAC;AAGH,KAAK,gBAAgB,GAAG,MAAM;AAC5B,oBAAoB;AACpB,MAAM,EACN;IACE,2CAA2C;IAC3C,IAAI,EACA,yBAAyB,CAAC,MAAM,CAC9B,MAAM,EACN,MAAM,CACP,GACD,4BAA4B,CAAC,MAAM,GACnC,SAAS,CAAC;IACd,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;CAChB,CACF,CAAC;AAuLF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,wBAwBtC,CAAC"}
1
+ {"version":3,"file":"07-verify-and-parse-credential.d.ts","sourceRoot":"","sources":["../../../../src/credential/issuance/07-verify-and-parse-credential.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAKtE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,KAAK,UAAU,GAAG,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,CAAC;AAIzD,MAAM,MAAM,wBAAwB,GAAG,CACrC,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,yBAAyB,EAAE,MAAM,EACjC,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;CACtC,KACE,OAAO,CAAC;IACX,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,UAAU,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;CAC5B,CAAC,CAAC;AAGH,KAAK,gBAAgB,GAAG,MAAM;AAC5B,oBAAoB;AACpB,MAAM,EACN;IACE,2CAA2C;IAC3C,IAAI,EACA,yBAAyB,CAAC,MAAM,CAC9B,MAAM,EACN,MAAM,CACP,GACD,4BAA4B,CAAC,MAAM,GACnC,SAAS,CAAC;IACd,wCAAwC;IACxC,KAAK,EAAE,OAAO,CAAC;CAChB,CACF,CAAC;AAsLF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,EAAE,wBAwBtC,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { type Out } from "../../utils/misc";
2
+ import type { EvaluateIssuerTrust, ObtainCredential } from "../issuance";
3
+ import { type CryptoContext } from "@pagopa/io-react-native-jwt";
4
+ export type StatusAssertion = (issuerConf: Out<EvaluateIssuerTrust>["issuerConf"], credential: Out<ObtainCredential>["credential"], format: Out<ObtainCredential>["format"], context: {
5
+ credentialCryptoContext: CryptoContext;
6
+ wiaCryptoContext: CryptoContext;
7
+ appFetch?: GlobalFetch["fetch"];
8
+ }) => Promise<{
9
+ statusAssertion: string;
10
+ }>;
11
+ /**
12
+ * Get the status assertion of a digital credential.
13
+ * @param issuerConf - The issuer's configuration
14
+ * @param credential - The credential to be verified
15
+ * @param format - The format of the credential, e.g. "sd-jwt"
16
+ * @param context.credentialCryptoContext - The credential's crypto context
17
+ * @param context.wiaCryptoContext - The Wallet Attestation's crypto context
18
+ * @param context.appFetch (optional) fetch api implementation. Default: built-in fetch
19
+ * @throws {IssuerResponseError} with a specific code for more context
20
+ * @returns The credential status assertion
21
+ */
22
+ export declare const statusAssertion: StatusAssertion;
23
+ //# sourceMappingURL=02-status-assertion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"02-status-assertion.d.ts","sourceRoot":"","sources":["../../../../src/credential/status/02-status-assertion.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,GAAG,EACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,6BAA6B,CAAC;AAY1E,MAAM,MAAM,eAAe,GAAG,CAC5B,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAClD,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,EACvC,OAAO,EAAE;IACP,uBAAuB,EAAE,aAAa,CAAC;IACvC,gBAAgB,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC,KACE,OAAO,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,eAAe,EAAE,eAoD7B,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { Out } from "../../utils/misc";
2
+ import type { EvaluateIssuerTrust, StatusAssertion } from ".";
3
+ import { ParsedStatusAssertion } from "./types";
4
+ import type { ObtainCredential } from "../issuance";
5
+ export type VerifyAndParseStatusAssertion = (issuerConf: Out<EvaluateIssuerTrust>["issuerConf"], statusAssertion: Out<StatusAssertion>, credential: Out<ObtainCredential>["credential"], format: Out<ObtainCredential>["format"]) => Promise<{
6
+ parsedStatusAssertion: ParsedStatusAssertion;
7
+ }>;
8
+ /**
9
+ * Given a status assertion, verifies that:
10
+ * - It's in the supported format;
11
+ * - The assertion is correctly signed;
12
+ * - It's bound to the given key.
13
+ * @param issuerConf The Issuer configuration returned by {@link evaluateIssuerTrust}
14
+ * @param statusAssertion The encoded status assertion returned by {@link statusAssertion}
15
+ * @param context.credentialCryptoContext The crypto context used to obtain the credential in {@link obtainCredential}
16
+ * @returns A parsed status assertion
17
+ * @throws {IoWalletError} If the credential signature is not verified with the Issuer key set
18
+ * @throws {IssuerResponseError} If the status assertion contains an error or the credential status is invalid
19
+ */
20
+ export declare const verifyAndParseStatusAssertion: VerifyAndParseStatusAssertion;
21
+ //# sourceMappingURL=03-verify-and-parse-status-assertion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"03-verify-and-parse-status-assertion.d.ts","sourceRoot":"","sources":["../../../../src/credential/status/03-verify-and-parse-status-assertion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAO5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAC9D,OAAO,EAEL,qBAAqB,EAItB,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,MAAM,MAAM,6BAA6B,GAAG,CAC1C,UAAU,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC,YAAY,CAAC,EAClD,eAAe,EAAE,GAAG,CAAC,eAAe,CAAC,EACrC,UAAU,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,EAC/C,MAAM,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KACpC,OAAO,CAAC;IAAE,qBAAqB,EAAE,qBAAqB,CAAA;CAAE,CAAC,CAAC;AAE/D;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,EAAE,6BAiDzC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type StartFlow } from "./01-start-flow";
2
- import { statusAttestation, type StatusAttestation } from "./02-status-attestation";
2
+ import { statusAssertion, type StatusAssertion } from "./02-status-assertion";
3
3
  import { evaluateIssuerTrust, type EvaluateIssuerTrust } from "../issuance";
4
- import { verifyAndParseStatusAttestation, type VerifyAndParseStatusAttestation } from "./03-verify-and-parse-status-attestation";
5
- export { evaluateIssuerTrust, statusAttestation, verifyAndParseStatusAttestation, };
6
- export type { StartFlow, EvaluateIssuerTrust, StatusAttestation, VerifyAndParseStatusAttestation, };
4
+ import { verifyAndParseStatusAssertion, type VerifyAndParseStatusAssertion } from "./03-verify-and-parse-status-assertion";
5
+ export { evaluateIssuerTrust, statusAssertion, verifyAndParseStatusAssertion };
6
+ export type { StartFlow, EvaluateIssuerTrust, StatusAssertion, VerifyAndParseStatusAssertion, };
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EACL,iBAAiB,EACjB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,+BAA+B,EAC/B,KAAK,+BAA+B,EACrC,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,+BAA+B,GAChC,CAAC;AACF,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,iBAAiB,EACjB,+BAA+B,GAChC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/credential/status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EACL,6BAA6B,EAC7B,KAAK,6BAA6B,EACnC,MAAM,wCAAwC,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,6BAA6B,EAAE,CAAC;AAC/E,YAAY,EACV,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,6BAA6B,GAC9B,CAAC"}