@pagopa/io-react-native-wallet 1.6.2 → 1.7.0

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 +69 -35
  2. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  3. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +181 -0
  4. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -0
  5. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +3 -67
  6. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  7. package/lib/commonjs/credential/presentation/08-send-authorization-response.js +98 -2
  8. package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
  9. package/lib/commonjs/credential/presentation/index.js +14 -1
  10. package/lib/commonjs/credential/presentation/index.js.map +1 -1
  11. package/lib/commonjs/credential/presentation/types.js +9 -2
  12. package/lib/commonjs/credential/presentation/types.js.map +1 -1
  13. package/lib/commonjs/sd-jwt/__test__/index.test.js +24 -21
  14. package/lib/commonjs/sd-jwt/__test__/index.test.js.map +1 -1
  15. package/lib/commonjs/sd-jwt/__test__/types.test.js +3 -0
  16. package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
  17. package/lib/commonjs/sd-jwt/types.js +4 -1
  18. package/lib/commonjs/sd-jwt/types.js.map +1 -1
  19. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +469 -0
  20. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +1 -0
  21. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +90 -0
  22. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -0
  23. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +67 -35
  24. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  25. package/lib/module/credential/presentation/07-evaluate-dcql-query.js +175 -0
  26. package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -0
  27. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +3 -66
  28. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  29. package/lib/module/credential/presentation/08-send-authorization-response.js +97 -2
  30. package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
  31. package/lib/module/credential/presentation/index.js +4 -3
  32. package/lib/module/credential/presentation/index.js.map +1 -1
  33. package/lib/module/credential/presentation/types.js +9 -2
  34. package/lib/module/credential/presentation/types.js.map +1 -1
  35. package/lib/module/sd-jwt/__test__/index.test.js +24 -21
  36. package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
  37. package/lib/module/sd-jwt/__test__/types.test.js +3 -0
  38. package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
  39. package/lib/module/sd-jwt/types.js +4 -1
  40. package/lib/module/sd-jwt/types.js.map +1 -1
  41. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +462 -0
  42. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +1 -0
  43. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +83 -0
  44. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +1 -0
  45. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +12 -0
  46. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  47. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts +27 -0
  48. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -0
  49. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +2 -28
  50. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
  51. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +23 -1
  52. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
  53. package/lib/typescript/credential/presentation/index.d.ts +6 -4
  54. package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
  55. package/lib/typescript/credential/presentation/types.d.ts +26 -7
  56. package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
  57. package/lib/typescript/sd-jwt/index.d.ts +12 -0
  58. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  59. package/lib/typescript/sd-jwt/types.d.ts +15 -0
  60. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  61. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts +3 -0
  62. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts.map +1 -0
  63. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts +42 -0
  64. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts.map +1 -0
  65. package/package.json +2 -1
  66. package/src/credential/issuance/07-verify-and-parse-credential.ts +35 -3
  67. package/src/credential/presentation/07-evaluate-dcql-query.ts +228 -0
  68. package/src/credential/presentation/07-evaluate-input-descriptor.ts +6 -103
  69. package/src/credential/presentation/08-send-authorization-response.ts +137 -2
  70. package/src/credential/presentation/index.ts +12 -2
  71. package/src/credential/presentation/types.ts +33 -3
  72. package/src/sd-jwt/__test__/index.test.ts +45 -36
  73. package/src/sd-jwt/__test__/types.test.ts +3 -0
  74. package/src/sd-jwt/types.ts +3 -0
  75. package/src/utils/credential/issuance/07-verify-and-parse-credentials-inputs.ts +615 -0
  76. package/src/utils/credential/issuance/07-verify-and-parse-credentials-utils.ts +171 -0
@@ -13,57 +13,64 @@ import { SdJwt4VC } from "../types";
13
13
  // - "address" is used as verification._sd
14
14
  // - all others disclosures are in claims._sd
15
15
  const token =
16
- "eyJraWQiOiJlTk4tZzVpNkNuTEtjbHRRQnA2YWJiaW9HTWJ6TTZtdVczdnV4dzZ1aDg4IiwidHlwIjoidmMrc2Qtand0IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJzajFPcFlpaUxUVllBTm5CR053U0sya3JNd3FwV2F6MmlIbU4xdDBfRXNnIiwiX3NkIjpbIjFVbXRJU3NkZDd1ZGJGYUZ5LVZpWjhkWkZoZXJiT0dEMk4zSGxYNFBJQzgiLCJGbWpzNHF6YzV2a2VPQVk1RzIwX1pQdlUtMXEtb1hhVjdBeDUxNkNDTUZrIiwiUTNiYWdOek1lUWg2RWd3UEJTSGltYmdRcGxtWV82djlTVzRnbzJYQWtnQSIsIlFWd2tuNzFCNHBXZkNPenpsUWw5SG54RlNWZEVIdVczNXpkVFFRZEZRR2MiLCJWVmRSNDFBMktPT1Z6eFlhZ1pDR2JWYW5nN3NTa2VnQ2VpdVdmM0RPdGpzIiwidk8yZHZuY216bHYzN01Ra21XdWRTRElIREU5WUhkMEVGQjh4QlREVmp6MCJdLCJ2Y3QjaW50ZWdyaXR5IjoiMjQyMzAyZDk3ZDM4ZGEyNzE0YTI1N2YyYTI1M2JmMmZhMzBhYWU1YzEwOWZlOTU4MWJmY2RhM2IxZDc5N2M5NyIsIl9zZF9hbGciOiJzaGEtMjU2IiwidmN0IjoidXJuOmV1LmV1cm9wYS5lYy5ldWRpOnBpZDoxIiwiaXNzIjoiaHR0cHM6Ly9hcGkucG90ZW50aWFsLXdhbGxldC1pdC1waWQtcHJvdmlkZXIuaXQiLCJjbmYiOnsiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJraWQiOiJMZWduRlE4bHZoQTZxeVB1dFl2NDhuV1dwU25PNXRIaWdhdnl3eWRzNVMwIiwieCI6ImN6WnJOOWxjTnVjMHE2OVg0MG4yN2M1aktwaWkwQS1hWVhfUGJvOXBxQlEiLCJ5IjoiWUdLR2FDSk5XZlRpS2l6M0ptQUc5a3k3aDR0d1B1VWZ6WU9neTFiekx2OCJ9fSwiZXhwIjoxNzY4NDkwMTk2LCJpYXQiOjE3MzY5NTQxOTYsInZlcmlmaWNhdGlvbiI6eyJldmlkZW5jZSI6eyJtZXRob2QiOiJjaWUifSwidHJ1c3RfZnJhbWV3b3JrIjoiZWlkYXMiLCJhc3N1cmFuY2VfbGV2ZWwiOiJoaWdoIn0sInN0YXR1cyI6eyJzdGF0dXNfYXNzZXJ0aW9uIjp7ImNyZWRlbnRpYWxfaGFzaF9hbGciOiJzaGEtMjU2In19fQ.bDBz9xa_u1g27TEuGRjNdFCMXuVibXHeI-rpnSZ_NE7k2h4_Kcshk1Van-ttmJiDq3XFBGckl3nka_QVsMjaRMnURQP62URci3CCaFZUVu3zI4BsXp1oRhucPqq6BHl6sjZbDXALp2jViEQ862-frdFnCCEuQC0xMh-zYycpL60bHXHTaGYDzHafGQAwcwr3fyYwFZvfmLFEBoKmEawDrFC0Enfw7pE9EHP9jITxWRTIxn9NcVdnzki1FO-ERsjrDS2y-u2RK6uy6-_0kIx-1mDJ7krCkaxeol0zOLb7zJX8ooxC1QupSp1z457JKi7cPPoL1GWeTRoHFy_kZL_Jew~WyJacnBvZllXMWs2NEpuUE05WjdEWS1RIiwiZ2l2ZW5fbmFtZSIsIk1hcmlvIl0~WyJ4d0o1UWM2OTB1eEgyZ0VKMHFDV2dRIiwiZmFtaWx5X25hbWUiLCJSb3NzaSJd~WyJlV3ZwQXAtVkFHM0tBdkVGTEgxRGZ3IiwidW5pcXVlX2lkIiwiaWRBTlBSIl0~WyJHcXZJTzV5SVN3bjg4eDkzbE1aalpRIiwiYmlydGhkYXRlIiwiMTk4MC0xMC0wMSJd~WyJvUmprWWxPc1JvSGZ4eEh2WmZueDN3IiwidGF4X2lkX2NvZGUiLCJUSU5JVC1SU1NNUkE4MEExMEg1MDFBIl0~WyJzOXBvSENQcW83cVdsb3BkQXRZc0V3IiwiaWF0IiwxNzM2OTU0MTk2XQ";
16
+ "eyJraWQiOiJvTHZHOHFGeGJZQ2RZRXBGNVdEeEJVYzM1THI1YTgwZ2FtbjZPeU5pSFRjIiwidHlwIjoidmMrc2Qtand0IiwiYWxnIjoiRVMyNTYifQ.eyJzdWIiOiJaTGJkSm53Qm1xQks2aVJqZmVmdXNqcjBZMUk1SE11MUllcXJ5TWJGejRnIiwidmN0IjoidXJuOmV1LmV1cm9wYS5lYy5ldWRpOnBpZDoxIiwiZXhwaXJ5X2RhdGUiOiIyMDI2LTA1LTIwIiwiaXNzIjoiaHR0cHM6Ly9hcGkucG90ZW50aWFsLXdhbGxldC1pdC1waWQtcHJvdmlkZXIuaXQiLCJfc2QiOlsiNDNlbk9MQ0xSdnhseDkyTG5QaUxOMTFMR3lIVjJtT1NycmRMa1RfTm1SQSIsIkdkc1hiX0s5ZHh5WWxCd3lCclloSVdVQnlSbFdxRk9IRlVWZ1J3RWZTdjQiLCJJaGgzUFRXbWM0Zk1MQ1FZQVFsN2l5ajRYY3RwbEZOS0VaUDVtQU9BWmo4IiwiTUx0RktpVUdzUDhrMUMxN3hYblZmWFh3emhpUHN0ekx4a2dLWk10YXZ1QSIsIlkxOU9vNFNfVjZEdjZRcGVPcFJSLWxOMmlGeHJ0RzF2WkVVejFKVy1CN2MiLCJ1LWlYMXduZUtja3NDeld6elRkOUZvUTlRUGNoNlhxS2hBZkMyRFZySk9zIiwid1FURHpYcFZpNmlVa01yUW9sNFdpWkpwZkhsS2FoZi1LLWxYZjE4Rll1YyIsInhqZzVNbEpXcDVqVGltdlhzaXZRUmhMVnFlOGNTemFkTVo2MEhrazUzanMiXSwidmN0I2ludGVncml0eSI6IjI0MjMwMmQ5N2QzOGRhMjcxNGEyNTdmMmEyNTNiZjJmYTMwYWFlNWMxMDlmZTk1ODFiZmNkYTNiMWQ3OTdjOTciLCJpc3N1aW5nX2NvdW50cnkiOiJJVCIsIl9zZF9hbGciOiJzaGEtMjU2IiwiaXNzdWluZ19hdXRob3JpdHkiOiJJc3RpdHV0byBQb2xpZ3JhZmljbyBlIFplY2NhIGRlbGxvIFN0YXRvIiwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTTBQYnZkWXNqVmdybWtXTTFfYVpZMk5zYmRMX3ZtckgyODd5TzQzTHF1WSIsIngiOiJfOHBuSVg2LXR6WEpBa0NSNmlhdnNDUVB0aW5ZYkZJeHI3NEYtNnJUejJVIiwieSI6IlJMeE53dHIxZzhIcmI1TlNoajFHYk1XZ0hvUS1DNzBCT3o0LVN5ZERoRmcifX0sImV4cCI6MTc3OTI4MzEyNSwiaWF0IjoxNzQ3NzQ3MTI1LCJ2ZXJpZmljYXRpb24iOnsiZXZpZGVuY2UiOnsibWV0aG9kIjoiY2llIn0sInRydXN0X2ZyYW1ld29yayI6ImVpZGFzIiwiYXNzdXJhbmNlX2xldmVsIjoiaGlnaCJ9LCJzdGF0dXMiOnsic3RhdHVzX2Fzc2VydGlvbiI6eyJjcmVkZW50aWFsX2hhc2hfYWxnIjoic2hhLTI1NiJ9fX0.guNNpF6KeKSowT6WCYvslgaPQbTRhwgqxTdJMPwsBOEkh6A9X2FvU8RMJoalhwXLHLo72bE4-HCvXO803I98JQ~WyItR0wxV1NiMnRWdTVTMDM4OXRFZW9nIiwiZ2l2ZW5fbmFtZSIsIk1BUklBIl0~WyJqSHYzdEFQNTNyRGxSbXVsdlo0Z2hBIiwiZmFtaWx5X25hbWUiLCJTUEVDSU1FTiJd~WyJiX3FtcnVBWTJkOEN5bk4yc0FPVm5nIiwidW5pcXVlX2lkIiwiaWRBTlBSIl0~WyJGajhqZ055bUVXYk9OdFpHeGV0SFh3IiwiYmlydGhfZGF0ZSIsIjE5OTUtMDEtMTgiXQ~WyI5aUs2UF9jY2UyY29QR1Q4b3d2TWxBIiwiYmlydGhfcGxhY2UiLCJST01BIl0~WyJucGVfcHJyUWxHT0hMU19pbS1pNmNnIiwibmF0aW9uYWxpdHkiLCJJVCJd~WyJrazlUVW9DQm9OZFd0VElpUWJValNBIiwidGF4X2lkX2NvZGUiLCJUSU5JVC1TUENNUkE5NUE1OEg1MDFUIl0~WyJjclNLNDlpaWpiZTdSbFFLSXlvcmlRIiwiaWF0IiwxNzQ3NzQ3MTI1XQ";
17
17
 
18
18
  const unsigned =
19
- "eyJraWQiOiJlTk4tZzVpNkNuTEtjbHRRQnA2YWJiaW9HTWJ6TTZtdVczdnV4dzZ1aDg4IiwidHlwIjoidmMrc2Qtand0IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJzajFPcFlpaUxUVllBTm5CR053U0sya3JNd3FwV2F6MmlIbU4xdDBfRXNnIiwiX3NkIjpbIjFVbXRJU3NkZDd1ZGJGYUZ5LVZpWjhkWkZoZXJiT0dEMk4zSGxYNFBJQzgiLCJGbWpzNHF6YzV2a2VPQVk1RzIwX1pQdlUtMXEtb1hhVjdBeDUxNkNDTUZrIiwiUTNiYWdOek1lUWg2RWd3UEJTSGltYmdRcGxtWV82djlTVzRnbzJYQWtnQSIsIlFWd2tuNzFCNHBXZkNPenpsUWw5SG54RlNWZEVIdVczNXpkVFFRZEZRR2MiLCJWVmRSNDFBMktPT1Z6eFlhZ1pDR2JWYW5nN3NTa2VnQ2VpdVdmM0RPdGpzIiwidk8yZHZuY216bHYzN01Ra21XdWRTRElIREU5WUhkMEVGQjh4QlREVmp6MCJdLCJ2Y3QjaW50ZWdyaXR5IjoiMjQyMzAyZDk3ZDM4ZGEyNzE0YTI1N2YyYTI1M2JmMmZhMzBhYWU1YzEwOWZlOTU4MWJmY2RhM2IxZDc5N2M5NyIsIl9zZF9hbGciOiJzaGEtMjU2IiwidmN0IjoidXJuOmV1LmV1cm9wYS5lYy5ldWRpOnBpZDoxIiwiaXNzIjoiaHR0cHM6Ly9hcGkucG90ZW50aWFsLXdhbGxldC1pdC1waWQtcHJvdmlkZXIuaXQiLCJjbmYiOnsiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJraWQiOiJMZWduRlE4bHZoQTZxeVB1dFl2NDhuV1dwU25PNXRIaWdhdnl3eWRzNVMwIiwieCI6ImN6WnJOOWxjTnVjMHE2OVg0MG4yN2M1aktwaWkwQS1hWVhfUGJvOXBxQlEiLCJ5IjoiWUdLR2FDSk5XZlRpS2l6M0ptQUc5a3k3aDR0d1B1VWZ6WU9neTFiekx2OCJ9fSwiZXhwIjoxNzY4NDkwMTk2LCJpYXQiOjE3MzY5NTQxOTYsInZlcmlmaWNhdGlvbiI6eyJldmlkZW5jZSI6eyJtZXRob2QiOiJjaWUifSwidHJ1c3RfZnJhbWV3b3JrIjoiZWlkYXMiLCJhc3N1cmFuY2VfbGV2ZWwiOiJoaWdoIn0sInN0YXR1cyI6eyJzdGF0dXNfYXNzZXJ0aW9uIjp7ImNyZWRlbnRpYWxfaGFzaF9hbGciOiJzaGEtMjU2In19fQ";
19
+ "eyJraWQiOiJvTHZHOHFGeGJZQ2RZRXBGNVdEeEJVYzM1THI1YTgwZ2FtbjZPeU5pSFRjIiwidHlwIjoidmMrc2Qtand0IiwiYWxnIjoiRVMyNTYifQ.eyJzdWIiOiJaTGJkSm53Qm1xQks2aVJqZmVmdXNqcjBZMUk1SE11MUllcXJ5TWJGejRnIiwidmN0IjoidXJuOmV1LmV1cm9wYS5lYy5ldWRpOnBpZDoxIiwiZXhwaXJ5X2RhdGUiOiIyMDI2LTA1LTIwIiwiaXNzIjoiaHR0cHM6Ly9hcGkucG90ZW50aWFsLXdhbGxldC1pdC1waWQtcHJvdmlkZXIuaXQiLCJfc2QiOlsiNDNlbk9MQ0xSdnhseDkyTG5QaUxOMTFMR3lIVjJtT1NycmRMa1RfTm1SQSIsIkdkc1hiX0s5ZHh5WWxCd3lCclloSVdVQnlSbFdxRk9IRlVWZ1J3RWZTdjQiLCJJaGgzUFRXbWM0Zk1MQ1FZQVFsN2l5ajRYY3RwbEZOS0VaUDVtQU9BWmo4IiwiTUx0RktpVUdzUDhrMUMxN3hYblZmWFh3emhpUHN0ekx4a2dLWk10YXZ1QSIsIlkxOU9vNFNfVjZEdjZRcGVPcFJSLWxOMmlGeHJ0RzF2WkVVejFKVy1CN2MiLCJ1LWlYMXduZUtja3NDeld6elRkOUZvUTlRUGNoNlhxS2hBZkMyRFZySk9zIiwid1FURHpYcFZpNmlVa01yUW9sNFdpWkpwZkhsS2FoZi1LLWxYZjE4Rll1YyIsInhqZzVNbEpXcDVqVGltdlhzaXZRUmhMVnFlOGNTemFkTVo2MEhrazUzanMiXSwidmN0I2ludGVncml0eSI6IjI0MjMwMmQ5N2QzOGRhMjcxNGEyNTdmMmEyNTNiZjJmYTMwYWFlNWMxMDlmZTk1ODFiZmNkYTNiMWQ3OTdjOTciLCJpc3N1aW5nX2NvdW50cnkiOiJJVCIsIl9zZF9hbGciOiJzaGEtMjU2IiwiaXNzdWluZ19hdXRob3JpdHkiOiJJc3RpdHV0byBQb2xpZ3JhZmljbyBlIFplY2NhIGRlbGxvIFN0YXRvIiwiY25mIjp7Imp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2Iiwia2lkIjoiTTBQYnZkWXNqVmdybWtXTTFfYVpZMk5zYmRMX3ZtckgyODd5TzQzTHF1WSIsIngiOiJfOHBuSVg2LXR6WEpBa0NSNmlhdnNDUVB0aW5ZYkZJeHI3NEYtNnJUejJVIiwieSI6IlJMeE53dHIxZzhIcmI1TlNoajFHYk1XZ0hvUS1DNzBCT3o0LVN5ZERoRmcifX0sImV4cCI6MTc3OTI4MzEyNSwiaWF0IjoxNzQ3NzQ3MTI1LCJ2ZXJpZmljYXRpb24iOnsiZXZpZGVuY2UiOnsibWV0aG9kIjoiY2llIn0sInRydXN0X2ZyYW1ld29yayI6ImVpZGFzIiwiYXNzdXJhbmNlX2xldmVsIjoiaGlnaCJ9LCJzdGF0dXMiOnsic3RhdHVzX2Fzc2VydGlvbiI6eyJjcmVkZW50aWFsX2hhc2hfYWxnIjoic2hhLTI1NiJ9fX0";
20
20
 
21
21
  const signature =
22
- "bDBz9xa_u1g27TEuGRjNdFCMXuVibXHeI-rpnSZ_NE7k2h4_Kcshk1Van-ttmJiDq3XFBGckl3nka_QVsMjaRMnURQP62URci3CCaFZUVu3zI4BsXp1oRhucPqq6BHl6sjZbDXALp2jViEQ862-frdFnCCEuQC0xMh-zYycpL60bHXHTaGYDzHafGQAwcwr3fyYwFZvfmLFEBoKmEawDrFC0Enfw7pE9EHP9jITxWRTIxn9NcVdnzki1FO-ERsjrDS2y-u2RK6uy6-_0kIx-1mDJ7krCkaxeol0zOLb7zJX8ooxC1QupSp1z457JKi7cPPoL1GWeTRoHFy_kZL_Jew";
22
+ "guNNpF6KeKSowT6WCYvslgaPQbTRhwgqxTdJMPwsBOEkh6A9X2FvU8RMJoalhwXLHLo72bE4-HCvXO803I98JQ";
23
23
 
24
24
  const signed = `${unsigned}.${signature}`;
25
25
 
26
26
  const tokenizedDisclosures = [
27
- "WyJacnBvZllXMWs2NEpuUE05WjdEWS1RIiwiZ2l2ZW5fbmFtZSIsIk1hcmlvIl0",
28
- "WyJ4d0o1UWM2OTB1eEgyZ0VKMHFDV2dRIiwiZmFtaWx5X25hbWUiLCJSb3NzaSJd",
29
- "WyJlV3ZwQXAtVkFHM0tBdkVGTEgxRGZ3IiwidW5pcXVlX2lkIiwiaWRBTlBSIl0",
30
- "WyJHcXZJTzV5SVN3bjg4eDkzbE1aalpRIiwiYmlydGhkYXRlIiwiMTk4MC0xMC0wMSJd",
31
- "WyJvUmprWWxPc1JvSGZ4eEh2WmZueDN3IiwidGF4X2lkX2NvZGUiLCJUSU5JVC1SU1NNUkE4MEExMEg1MDFBIl0",
32
- "WyJzOXBvSENQcW83cVdsb3BkQXRZc0V3IiwiaWF0IiwxNzM2OTU0MTk2XQ",
27
+ "WyItR0wxV1NiMnRWdTVTMDM4OXRFZW9nIiwiZ2l2ZW5fbmFtZSIsIk1BUklBIl0",
28
+ "WyJqSHYzdEFQNTNyRGxSbXVsdlo0Z2hBIiwiZmFtaWx5X25hbWUiLCJTUEVDSU1FTiJd",
29
+ "WyJiX3FtcnVBWTJkOEN5bk4yc0FPVm5nIiwidW5pcXVlX2lkIiwiaWRBTlBSIl0",
30
+ "WyJGajhqZ055bUVXYk9OdFpHeGV0SFh3IiwiYmlydGhfZGF0ZSIsIjE5OTUtMDEtMTgiXQ",
31
+ "WyI5aUs2UF9jY2UyY29QR1Q4b3d2TWxBIiwiYmlydGhfcGxhY2UiLCJST01BIl0",
32
+ "WyJucGVfcHJyUWxHT0hMU19pbS1pNmNnIiwibmF0aW9uYWxpdHkiLCJJVCJd",
33
+ "WyJrazlUVW9DQm9OZFd0VElpUWJValNBIiwidGF4X2lkX2NvZGUiLCJUSU5JVC1TUENNUkE5NUE1OEg1MDFUIl0",
34
+ "WyJjclNLNDlpaWpiZTdSbFFLSXlvcmlRIiwiaWF0IiwxNzQ3NzQ3MTI1XQ",
33
35
  ];
34
36
 
35
37
  const sdJwt = {
36
38
  header: {
37
- kid: "eNN-g5i6CnLKcltQBp6abbioGMbzM6muW3vuxw6uh88",
39
+ kid: "oLvG8qFxbYCdYEpF5WDxBUc35Lr5a80gamn6OyNiHTc",
38
40
  typ: "vc+sd-jwt",
39
- alg: "RS256",
41
+ alg: "ES256",
40
42
  },
41
43
  payload: {
42
- sub: "sj1OpYiiLTVYANnBGNwSK2krMwqpWaz2iHmN1t0_Esg",
44
+ sub: "ZLbdJnwBmqBK6iRjfefusjr0Y1I5HMu1IeqryMbFz4g",
45
+ vct: "urn:eu.europa.ec.eudi:pid:1",
46
+ expiry_date: "2026-05-20",
47
+ iss: "https://api.potential-wallet-it-pid-provider.it",
43
48
  _sd: [
44
- "1UmtISsdd7udbFaFy-ViZ8dZFherbOGD2N3HlX4PIC8",
45
- "Fmjs4qzc5vkeOAY5G20_ZPvU-1q-oXaV7Ax516CCMFk",
46
- "Q3bagNzMeQh6EgwPBSHimbgQplmY_6v9SW4go2XAkgA",
47
- "QVwkn71B4pWfCOzzlQl9HnxFSVdEHuW35zdTQQdFQGc",
48
- "VVdR41A2KOOVzxYagZCGbVang7sSkegCeiuWf3DOtjs",
49
- "vO2dvncmzlv37MQkmWudSDIHDE9YHd0EFB8xBTDVjz0",
49
+ "43enOLCLRvxlx92LnPiLN11LGyHV2mOSrrdLkT_NmRA",
50
+ "GdsXb_K9dxyYlBwyBrYhIWUByRlWqFOHFUVgRwEfSv4",
51
+ "Ihh3PTWmc4fMLCQYAQl7iyj4XctplFNKEZP5mAOAZj8",
52
+ "MLtFKiUGsP8k1C17xXnVfXXwzhiPstzLxkgKZMtavuA",
53
+ "Y19Oo4S_V6Dv6QpeOpRR-lN2iFxrtG1vZEUz1JW-B7c",
54
+ "u-iX1wneKcksCzWzzTd9FoQ9QPch6XqKhAfC2DVrJOs",
55
+ "wQTDzXpVi6iUkMrQol4WiZJpfHlKahf-K-lXf18FYuc",
56
+ "xjg5MlJWp5jTimvXsivQRhLVqe8cSzadMZ60Hkk53js",
50
57
  ],
51
58
  "vct#integrity":
52
59
  "242302d97d38da2714a257f2a253bf2fa30aae5c109fe9581bfcda3b1d797c97",
60
+ issuing_country: "IT",
53
61
  _sd_alg: "sha-256",
54
- vct: "urn:eu.europa.ec.eudi:pid:1",
55
- iss: "https://api.potential-wallet-it-pid-provider.it",
62
+ issuing_authority: "Istituto Poligrafico e Zecca dello Stato",
56
63
  cnf: {
57
64
  jwk: {
58
65
  kty: "EC",
59
66
  crv: "P-256",
60
- kid: "LegnFQ8lvhA6qyPutYv48nWWpSnO5tHigavywyds5S0",
61
- x: "czZrN9lcNuc0q69X40n27c5jKpii0A-aYX_Pbo9pqBQ",
62
- y: "YGKGaCJNWfTiKiz3JmAG9ky7h4twPuUfzYOgy1bzLv8",
67
+ kid: "M0PbvdYsjVgrmkWM1_aZY2NsbdL_vmrH287yO43LquY",
68
+ x: "_8pnIX6-tzXJAkCR6iavsCQPtinYbFIxr74F-6rTz2U",
69
+ y: "RLxNwtr1g8Hrb5NShj1GbMWgHoQ-C70BOz4-SydDhFg",
63
70
  },
64
71
  },
65
- exp: 1768490196,
66
- iat: 1736954196,
72
+ exp: 1779283125,
73
+ iat: 1747747125,
67
74
  verification: {
68
75
  evidence: {
69
76
  method: "cie",
@@ -81,12 +88,14 @@ const sdJwt = {
81
88
 
82
89
  // In the very same order than tokenizedDisclosures
83
90
  const disclosures = [
84
- ["ZrpofYW1k64JnPM9Z7DY-Q", "given_name", "Mario"],
85
- ["xwJ5Qc690uxH2gEJ0qCWgQ", "family_name", "Rossi"],
86
- ["eWvpAp-VAG3KAvEFLH1Dfw", "unique_id", "idANPR"],
87
- ["GqvIO5yISwn88x93lMZjZQ", "birthdate", "1980-10-01"],
88
- ["oRjkYlOsRoHfxxHvZfnx3w", "tax_id_code", "TINIT-RSSMRA80A10H501A"],
89
- ["s9poHCPqo7qWlopdAtYsEw", "iat", 1736954196],
91
+ ["-GL1WSb2tVu5S0389tEeog", "given_name", "MARIA"],
92
+ ["jHv3tAP53rDlRmulvZ4ghA", "family_name", "SPECIMEN"],
93
+ ["b_qmruAY2d8CynN2sAOVng", "unique_id", "idANPR"],
94
+ ["Fj8jgNymEWbONtZGxetHXw", "birth_date", "1995-01-18"],
95
+ ["9iK6P_cce2coPGT8owvMlA", "birth_place", "ROMA"],
96
+ ["npe_prrQlGOHLS_im-i6cg", "nationality", "IT"],
97
+ ["kk9TUoCBoNdWtTIiQbUjSA", "tax_id_code", "TINIT-SPCMRA95A58H501T"],
98
+ ["crSK49iijbe7RlQKIyoriQ", "iat", 1747747125],
90
99
  ];
91
100
  it("Ensures example data correctness", () => {
92
101
  expect(
@@ -142,8 +151,8 @@ describe("disclose", () => {
142
151
  it("should encode a valid sdjwt (one claim)", async () => {
143
152
  const result = await disclose(token, ["unique_id"]);
144
153
  const expected = {
145
- token: `${signed}~WyJlV3ZwQXAtVkFHM0tBdkVGTEgxRGZ3IiwidW5pcXVlX2lkIiwiaWRBTlBSIl0`,
146
- paths: [{ claim: "unique_id", path: "verified_claims.claims._sd[5]" }],
154
+ token: `${signed}~WyJiX3FtcnVBWTJkOEN5bk4yc0FPVm5nIiwidW5pcXVlX2lkIiwiaWRBTlBSIl0`,
155
+ paths: [{ claim: "unique_id", path: "verified_claims.claims._sd[7]" }],
147
156
  };
148
157
 
149
158
  expect(result).toEqual(expected);
@@ -159,15 +168,15 @@ describe("disclose", () => {
159
168
  it("should encode a valid sdjwt (multiple claims)", async () => {
160
169
  const result = await disclose(token, ["iat", "family_name"]);
161
170
  const expected = {
162
- token: `${signed}~WyJ4d0o1UWM2OTB1eEgyZ0VKMHFDV2dRIiwiZmFtaWx5X25hbWUiLCJSb3NzaSJd~WyJzOXBvSENQcW83cVdsb3BkQXRZc0V3IiwiaWF0IiwxNzM2OTU0MTk2XQ`,
171
+ token: `${signed}~WyJqSHYzdEFQNTNyRGxSbXVsdlo0Z2hBIiwiZmFtaWx5X25hbWUiLCJTUEVDSU1FTiJd~WyJjclNLNDlpaWpiZTdSbFFLSXlvcmlRIiwiaWF0IiwxNzQ3NzQ3MTI1XQ`,
163
172
  paths: [
164
173
  {
165
174
  claim: "iat",
166
- path: "verified_claims.claims._sd[1]",
175
+ path: "verified_claims.claims._sd[0]",
167
176
  },
168
177
  {
169
178
  claim: "family_name",
170
- path: "verified_claims.claims._sd[3]",
179
+ path: "verified_claims.claims._sd[5]",
171
180
  },
172
181
  ],
173
182
  };
@@ -35,6 +35,9 @@ describe("SdJwt4VC", () => {
35
35
  },
36
36
  exp: 1768490196,
37
37
  iat: 1736954196,
38
+ expiry_date: "2026-12-05",
39
+ issuing_country: "IT",
40
+ issuing_authority: "Istituto Poligrafico e Zecca dello Stato",
38
41
  verification: {
39
42
  evidence: {
40
43
  method: "cie",
@@ -70,6 +70,9 @@ export const SdJwt4VC = z.object({
70
70
  vct: z.string(),
71
71
  "vct#integrity": z.string().optional(),
72
72
  verification: Verification.optional(),
73
+ expiry_date: z.string().refine((str) => !isNaN(new Date(str).getTime())),
74
+ issuing_authority: z.string(),
75
+ issuing_country: z.string(),
73
76
  }),
74
77
  ObfuscatedDisclosures
75
78
  ),