@pagopa/io-react-native-wallet 1.7.0 → 2.0.0-next.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 (438) hide show
  1. package/README.md +47 -1
  2. package/lib/commonjs/client/generated/wallet-provider.js +49 -20
  3. package/lib/commonjs/client/generated/wallet-provider.js.map +1 -1
  4. package/lib/commonjs/credential/index.js +5 -1
  5. package/lib/commonjs/credential/index.js.map +1 -1
  6. package/lib/commonjs/credential/issuance/02-evaluate-issuer-trust.js +27 -0
  7. package/lib/commonjs/credential/issuance/02-evaluate-issuer-trust.js.map +1 -0
  8. package/lib/commonjs/credential/issuance/03-start-user-authorization.js +25 -16
  9. package/lib/commonjs/credential/issuance/03-start-user-authorization.js.map +1 -1
  10. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +30 -18
  11. package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
  12. package/lib/commonjs/credential/issuance/05-authorize-access.js +17 -12
  13. package/lib/commonjs/credential/issuance/05-authorize-access.js.map +1 -1
  14. package/lib/commonjs/credential/issuance/06-obtain-credential.js +36 -29
  15. package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
  16. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +27 -207
  17. package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  18. package/lib/commonjs/credential/issuance/README.md +23 -20
  19. package/lib/commonjs/credential/issuance/const.js +1 -1
  20. package/lib/commonjs/credential/issuance/const.js.map +1 -1
  21. package/lib/commonjs/credential/issuance/index.js +3 -3
  22. package/lib/commonjs/credential/issuance/index.js.map +1 -1
  23. package/lib/commonjs/credential/presentation/01-start-flow.js +14 -15
  24. package/lib/commonjs/credential/presentation/01-start-flow.js.map +1 -1
  25. package/lib/commonjs/credential/presentation/02-evaluate-rp-trust.js +6 -4
  26. package/lib/commonjs/credential/presentation/02-evaluate-rp-trust.js.map +1 -1
  27. package/lib/commonjs/credential/presentation/03-get-request-object.js +34 -7
  28. package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -1
  29. package/lib/commonjs/credential/presentation/04-retrieve-rp-jwks.js +4 -126
  30. package/lib/commonjs/credential/presentation/04-retrieve-rp-jwks.js.map +1 -1
  31. package/lib/commonjs/credential/presentation/05-verify-request-object.js +80 -25
  32. package/lib/commonjs/credential/presentation/05-verify-request-object.js.map +1 -1
  33. package/lib/commonjs/credential/presentation/06-fetch-presentation-definition.js +6 -30
  34. package/lib/commonjs/credential/presentation/06-fetch-presentation-definition.js.map +1 -1
  35. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +97 -117
  36. package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
  37. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +86 -191
  38. package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  39. package/lib/commonjs/credential/presentation/08-send-authorization-response.js +112 -176
  40. package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
  41. package/lib/commonjs/credential/presentation/README.md +74 -79
  42. package/lib/commonjs/credential/presentation/errors.js +42 -21
  43. package/lib/commonjs/credential/presentation/errors.js.map +1 -1
  44. package/lib/commonjs/credential/presentation/index.js +13 -13
  45. package/lib/commonjs/credential/presentation/index.js.map +1 -1
  46. package/lib/commonjs/credential/presentation/types.js +53 -29
  47. package/lib/commonjs/credential/presentation/types.js.map +1 -1
  48. package/lib/commonjs/credential/status/01-start-flow.js +2 -0
  49. package/lib/commonjs/credential/status/01-start-flow.js.map +1 -0
  50. package/lib/commonjs/credential/status/02-status-attestation.js +73 -0
  51. package/lib/commonjs/credential/status/02-status-attestation.js.map +1 -0
  52. package/lib/commonjs/credential/status/03-verify-and-parse-status-attestation.js +55 -0
  53. package/lib/commonjs/credential/status/03-verify-and-parse-status-attestation.js.map +1 -0
  54. package/lib/commonjs/credential/status/README.md +67 -0
  55. package/lib/commonjs/credential/status/index.js +27 -0
  56. package/lib/commonjs/credential/status/index.js.map +1 -0
  57. package/lib/commonjs/credential/status/types.js +48 -0
  58. package/lib/commonjs/credential/status/types.js.map +1 -0
  59. package/lib/commonjs/credential/trustmark/README.md +62 -0
  60. package/lib/commonjs/credential/trustmark/get-credential-trustmark.js +86 -0
  61. package/lib/commonjs/credential/trustmark/get-credential-trustmark.js.map +1 -0
  62. package/lib/commonjs/credential/trustmark/index.js +13 -0
  63. package/lib/commonjs/credential/trustmark/index.js.map +1 -0
  64. package/lib/commonjs/index.js +5 -1
  65. package/lib/commonjs/index.js.map +1 -1
  66. package/lib/commonjs/pid/sd-jwt/types.js +18 -2
  67. package/lib/commonjs/pid/sd-jwt/types.js.map +1 -1
  68. package/lib/commonjs/sd-jwt/__test__/index.test.js +22 -34
  69. package/lib/commonjs/sd-jwt/__test__/index.test.js.map +1 -1
  70. package/lib/commonjs/sd-jwt/__test__/types.test.js +11 -23
  71. package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
  72. package/lib/commonjs/sd-jwt/index.js +1 -7
  73. package/lib/commonjs/sd-jwt/index.js.map +1 -1
  74. package/lib/commonjs/sd-jwt/types.js +5 -21
  75. package/lib/commonjs/sd-jwt/types.js.map +1 -1
  76. package/lib/commonjs/{entity/trust → trust}/chain.js +49 -55
  77. package/lib/commonjs/trust/chain.js.map +1 -0
  78. package/lib/commonjs/trust/errors.js +110 -0
  79. package/lib/commonjs/trust/errors.js.map +1 -0
  80. package/lib/commonjs/trust/index.js +282 -0
  81. package/lib/commonjs/trust/index.js.map +1 -0
  82. package/lib/commonjs/{entity/trust → trust}/types.js +27 -47
  83. package/lib/commonjs/trust/types.js.map +1 -0
  84. package/lib/commonjs/trust/utils.js +41 -0
  85. package/lib/commonjs/trust/utils.js.map +1 -0
  86. package/lib/commonjs/utils/crypto.js +5 -112
  87. package/lib/commonjs/utils/crypto.js.map +1 -1
  88. package/lib/commonjs/utils/decoder.js +2 -0
  89. package/lib/commonjs/utils/decoder.js.map +1 -1
  90. package/lib/commonjs/utils/error-codes.js +22 -2
  91. package/lib/commonjs/utils/error-codes.js.map +1 -1
  92. package/lib/commonjs/utils/errors.js +72 -4
  93. package/lib/commonjs/utils/errors.js.map +1 -1
  94. package/lib/commonjs/utils/logging.js +68 -0
  95. package/lib/commonjs/utils/logging.js.map +1 -0
  96. package/lib/commonjs/utils/misc.js +2 -0
  97. package/lib/commonjs/utils/misc.js.map +1 -1
  98. package/lib/commonjs/utils/par.js +17 -10
  99. package/lib/commonjs/utils/par.js.map +1 -1
  100. package/lib/commonjs/utils/string.js +1 -12
  101. package/lib/commonjs/utils/string.js.map +1 -1
  102. package/lib/commonjs/wallet-instance/index.js +14 -0
  103. package/lib/commonjs/wallet-instance/index.js.map +1 -1
  104. package/lib/commonjs/wallet-instance-attestation/README.md +8 -3
  105. package/lib/commonjs/wallet-instance-attestation/issuing.js +15 -8
  106. package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
  107. package/lib/commonjs/wallet-instance-attestation/types.js +16 -20
  108. package/lib/commonjs/wallet-instance-attestation/types.js.map +1 -1
  109. package/lib/module/client/generated/wallet-provider.js +40 -15
  110. package/lib/module/client/generated/wallet-provider.js.map +1 -1
  111. package/lib/module/credential/index.js +3 -1
  112. package/lib/module/credential/index.js.map +1 -1
  113. package/lib/module/credential/issuance/02-evaluate-issuer-trust.js +20 -0
  114. package/lib/module/credential/issuance/02-evaluate-issuer-trust.js.map +1 -0
  115. package/lib/module/credential/issuance/03-start-user-authorization.js +25 -16
  116. package/lib/module/credential/issuance/03-start-user-authorization.js.map +1 -1
  117. package/lib/module/credential/issuance/04-complete-user-authorization.js +30 -18
  118. package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
  119. package/lib/module/credential/issuance/05-authorize-access.js +17 -11
  120. package/lib/module/credential/issuance/05-authorize-access.js.map +1 -1
  121. package/lib/module/credential/issuance/06-obtain-credential.js +36 -28
  122. package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
  123. package/lib/module/credential/issuance/07-verify-and-parse-credential.js +27 -205
  124. package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
  125. package/lib/module/credential/issuance/README.md +23 -20
  126. package/lib/module/credential/issuance/const.js +1 -1
  127. package/lib/module/credential/issuance/const.js.map +1 -1
  128. package/lib/module/credential/issuance/index.js +2 -2
  129. package/lib/module/credential/issuance/index.js.map +1 -1
  130. package/lib/module/credential/presentation/01-start-flow.js +14 -15
  131. package/lib/module/credential/presentation/01-start-flow.js.map +1 -1
  132. package/lib/module/credential/presentation/02-evaluate-rp-trust.js +5 -3
  133. package/lib/module/credential/presentation/02-evaluate-rp-trust.js.map +1 -1
  134. package/lib/module/credential/presentation/03-get-request-object.js +34 -7
  135. package/lib/module/credential/presentation/03-get-request-object.js.map +1 -1
  136. package/lib/module/credential/presentation/04-retrieve-rp-jwks.js +2 -124
  137. package/lib/module/credential/presentation/04-retrieve-rp-jwks.js.map +1 -1
  138. package/lib/module/credential/presentation/05-verify-request-object.js +78 -23
  139. package/lib/module/credential/presentation/05-verify-request-object.js.map +1 -1
  140. package/lib/module/credential/presentation/06-fetch-presentation-definition.js +6 -30
  141. package/lib/module/credential/presentation/06-fetch-presentation-definition.js.map +1 -1
  142. package/lib/module/credential/presentation/07-evaluate-dcql-query.js +97 -118
  143. package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
  144. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +83 -186
  145. package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
  146. package/lib/module/credential/presentation/08-send-authorization-response.js +107 -170
  147. package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
  148. package/lib/module/credential/presentation/README.md +74 -79
  149. package/lib/module/credential/presentation/errors.js +30 -17
  150. package/lib/module/credential/presentation/errors.js.map +1 -1
  151. package/lib/module/credential/presentation/index.js +6 -6
  152. package/lib/module/credential/presentation/index.js.map +1 -1
  153. package/lib/module/credential/presentation/types.js +49 -27
  154. package/lib/module/credential/presentation/types.js.map +1 -1
  155. package/lib/module/credential/status/01-start-flow.js +2 -0
  156. package/lib/module/credential/status/01-start-flow.js.map +1 -0
  157. package/lib/module/credential/status/02-status-attestation.js +66 -0
  158. package/lib/module/credential/status/02-status-attestation.js.map +1 -0
  159. package/lib/module/credential/status/03-verify-and-parse-status-attestation.js +49 -0
  160. package/lib/module/credential/status/03-verify-and-parse-status-attestation.js.map +1 -0
  161. package/lib/module/credential/status/README.md +67 -0
  162. package/lib/module/credential/status/index.js +5 -0
  163. package/lib/module/credential/status/index.js.map +1 -0
  164. package/lib/module/credential/status/types.js +40 -0
  165. package/lib/module/credential/status/types.js.map +1 -0
  166. package/lib/module/credential/trustmark/README.md +62 -0
  167. package/lib/module/credential/trustmark/get-credential-trustmark.js +77 -0
  168. package/lib/module/credential/trustmark/get-credential-trustmark.js.map +1 -0
  169. package/lib/module/credential/trustmark/index.js +3 -0
  170. package/lib/module/credential/trustmark/index.js.map +1 -0
  171. package/lib/module/index.js +3 -1
  172. package/lib/module/index.js.map +1 -1
  173. package/lib/module/pid/sd-jwt/types.js +16 -1
  174. package/lib/module/pid/sd-jwt/types.js.map +1 -1
  175. package/lib/module/sd-jwt/__test__/index.test.js +22 -34
  176. package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
  177. package/lib/module/sd-jwt/__test__/types.test.js +11 -23
  178. package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
  179. package/lib/module/sd-jwt/index.js +1 -7
  180. package/lib/module/sd-jwt/index.js.map +1 -1
  181. package/lib/module/sd-jwt/types.js +4 -19
  182. package/lib/module/sd-jwt/types.js.map +1 -1
  183. package/lib/module/trust/chain.js +108 -0
  184. package/lib/module/trust/chain.js.map +1 -0
  185. package/lib/module/trust/errors.js +94 -0
  186. package/lib/module/trust/errors.js.map +1 -0
  187. package/lib/module/trust/index.js +263 -0
  188. package/lib/module/trust/index.js.map +1 -0
  189. package/lib/module/{entity/trust → trust}/types.js +25 -46
  190. package/lib/module/trust/types.js.map +1 -0
  191. package/lib/module/trust/utils.js +33 -0
  192. package/lib/module/trust/utils.js.map +1 -0
  193. package/lib/module/utils/crypto.js +4 -107
  194. package/lib/module/utils/crypto.js.map +1 -1
  195. package/lib/module/utils/decoder.js +3 -0
  196. package/lib/module/utils/decoder.js.map +1 -1
  197. package/lib/module/utils/error-codes.js +20 -1
  198. package/lib/module/utils/error-codes.js.map +1 -1
  199. package/lib/module/utils/errors.js +61 -4
  200. package/lib/module/utils/errors.js.map +1 -1
  201. package/lib/module/utils/logging.js +62 -0
  202. package/lib/module/utils/logging.js.map +1 -0
  203. package/lib/module/utils/misc.js +2 -0
  204. package/lib/module/utils/misc.js.map +1 -1
  205. package/lib/module/utils/par.js +17 -9
  206. package/lib/module/utils/par.js.map +1 -1
  207. package/lib/module/utils/string.js +0 -10
  208. package/lib/module/utils/string.js.map +1 -1
  209. package/lib/module/wallet-instance/index.js +13 -0
  210. package/lib/module/wallet-instance/index.js.map +1 -1
  211. package/lib/module/wallet-instance-attestation/README.md +8 -3
  212. package/lib/module/wallet-instance-attestation/index.js +2 -2
  213. package/lib/module/wallet-instance-attestation/index.js.map +1 -1
  214. package/lib/module/wallet-instance-attestation/issuing.js +16 -9
  215. package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
  216. package/lib/module/wallet-instance-attestation/types.js +14 -18
  217. package/lib/module/wallet-instance-attestation/types.js.map +1 -1
  218. package/lib/typescript/client/generated/wallet-provider.d.ts +206 -51
  219. package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
  220. package/lib/typescript/credential/index.d.ts +3 -1
  221. package/lib/typescript/credential/index.d.ts.map +1 -1
  222. package/lib/typescript/credential/issuance/01-start-flow.d.ts +1 -1
  223. package/lib/typescript/credential/issuance/02-evaluate-issuer-trust.d.ts +19 -0
  224. package/lib/typescript/credential/issuance/02-evaluate-issuer-trust.d.ts.map +1 -0
  225. package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts +3 -3
  226. package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts.map +1 -1
  227. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +9 -9
  228. package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
  229. package/lib/typescript/credential/issuance/05-authorize-access.d.ts +3 -3
  230. package/lib/typescript/credential/issuance/05-authorize-access.d.ts.map +1 -1
  231. package/lib/typescript/credential/issuance/06-obtain-credential.d.ts +4 -4
  232. package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
  233. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +3 -15
  234. package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
  235. package/lib/typescript/credential/issuance/const.d.ts +1 -1
  236. package/lib/typescript/credential/issuance/const.d.ts.map +1 -1
  237. package/lib/typescript/credential/issuance/index.d.ts +3 -3
  238. package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
  239. package/lib/typescript/credential/issuance/types.d.ts +8 -3
  240. package/lib/typescript/credential/issuance/types.d.ts.map +1 -1
  241. package/lib/typescript/credential/presentation/01-start-flow.d.ts +28 -9
  242. package/lib/typescript/credential/presentation/01-start-flow.d.ts.map +1 -1
  243. package/lib/typescript/credential/presentation/02-evaluate-rp-trust.d.ts +2 -1
  244. package/lib/typescript/credential/presentation/02-evaluate-rp-trust.d.ts.map +1 -1
  245. package/lib/typescript/credential/presentation/03-get-request-object.d.ts +7 -5
  246. package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -1
  247. package/lib/typescript/credential/presentation/04-retrieve-rp-jwks.d.ts +4 -30
  248. package/lib/typescript/credential/presentation/04-retrieve-rp-jwks.d.ts.map +1 -1
  249. package/lib/typescript/credential/presentation/05-verify-request-object.d.ts +17 -4
  250. package/lib/typescript/credential/presentation/05-verify-request-object.d.ts.map +1 -1
  251. package/lib/typescript/credential/presentation/06-fetch-presentation-definition.d.ts +4 -9
  252. package/lib/typescript/credential/presentation/06-fetch-presentation-definition.d.ts.map +1 -1
  253. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts +13 -12
  254. package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -1
  255. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +40 -42
  256. package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
  257. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +30 -43
  258. package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
  259. package/lib/typescript/credential/presentation/errors.d.ts +25 -10
  260. package/lib/typescript/credential/presentation/errors.d.ts.map +1 -1
  261. package/lib/typescript/credential/presentation/index.d.ts +7 -8
  262. package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
  263. package/lib/typescript/credential/presentation/types.d.ts +137 -307
  264. package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
  265. package/lib/typescript/credential/status/01-start-flow.d.ts +10 -0
  266. package/lib/typescript/credential/status/01-start-flow.d.ts.map +1 -0
  267. package/lib/typescript/credential/status/02-status-attestation.d.ts +19 -0
  268. package/lib/typescript/credential/status/02-status-attestation.d.ts.map +1 -0
  269. package/lib/typescript/credential/status/03-verify-and-parse-status-attestation.d.ts +24 -0
  270. package/lib/typescript/credential/status/03-verify-and-parse-status-attestation.d.ts.map +1 -0
  271. package/lib/typescript/credential/status/index.d.ts +7 -0
  272. package/lib/typescript/credential/status/index.d.ts.map +1 -0
  273. package/lib/typescript/credential/status/types.d.ts +305 -0
  274. package/lib/typescript/credential/status/types.d.ts.map +1 -0
  275. package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts +52 -0
  276. package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts.map +1 -0
  277. package/lib/typescript/credential/trustmark/index.d.ts +4 -0
  278. package/lib/typescript/credential/trustmark/index.d.ts.map +1 -0
  279. package/lib/typescript/index.d.ts +3 -1
  280. package/lib/typescript/index.d.ts.map +1 -1
  281. package/lib/typescript/pid/sd-jwt/types.d.ts +103 -25
  282. package/lib/typescript/pid/sd-jwt/types.d.ts.map +1 -1
  283. package/lib/typescript/sd-jwt/index.d.ts +30 -82
  284. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  285. package/lib/typescript/sd-jwt/types.d.ts +29 -134
  286. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  287. package/lib/typescript/{entity/trust → trust}/chain.d.ts +5 -10
  288. package/lib/typescript/trust/chain.d.ts.map +1 -0
  289. package/lib/typescript/trust/errors.d.ts +80 -0
  290. package/lib/typescript/trust/errors.d.ts.map +1 -0
  291. package/lib/typescript/{entity/trust → trust}/index.d.ts +211 -186
  292. package/lib/typescript/trust/index.d.ts.map +1 -0
  293. package/lib/typescript/{entity/trust → trust}/types.d.ts +1533 -1120
  294. package/lib/typescript/{entity/trust → trust}/types.d.ts.map +1 -1
  295. package/lib/typescript/trust/utils.d.ts +12 -0
  296. package/lib/typescript/trust/utils.d.ts.map +1 -0
  297. package/lib/typescript/utils/crypto.d.ts +0 -32
  298. package/lib/typescript/utils/crypto.d.ts.map +1 -1
  299. package/lib/typescript/utils/decoder.d.ts.map +1 -1
  300. package/lib/typescript/utils/error-codes.d.ts +20 -0
  301. package/lib/typescript/utils/error-codes.d.ts.map +1 -1
  302. package/lib/typescript/utils/errors.d.ts +55 -10
  303. package/lib/typescript/utils/errors.d.ts.map +1 -1
  304. package/lib/typescript/utils/logging.d.ts +35 -0
  305. package/lib/typescript/utils/logging.d.ts.map +1 -0
  306. package/lib/typescript/utils/misc.d.ts.map +1 -1
  307. package/lib/typescript/utils/par.d.ts +8 -1
  308. package/lib/typescript/utils/par.d.ts.map +1 -1
  309. package/lib/typescript/utils/string.d.ts +0 -7
  310. package/lib/typescript/utils/string.d.ts.map +1 -1
  311. package/lib/typescript/wallet-instance/index.d.ts +8 -0
  312. package/lib/typescript/wallet-instance/index.d.ts.map +1 -1
  313. package/lib/typescript/wallet-instance-attestation/index.d.ts +1 -2
  314. package/lib/typescript/wallet-instance-attestation/index.d.ts.map +1 -1
  315. package/lib/typescript/wallet-instance-attestation/issuing.d.ts +4 -2
  316. package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
  317. package/lib/typescript/wallet-instance-attestation/types.d.ts +78 -120
  318. package/lib/typescript/wallet-instance-attestation/types.d.ts.map +1 -1
  319. package/package.json +8 -9
  320. package/src/client/generated/wallet-provider.ts +52 -17
  321. package/src/credential/index.ts +4 -1
  322. package/src/credential/issuance/01-start-flow.ts +1 -1
  323. package/src/credential/issuance/02-evaluate-issuer-trust.ts +32 -0
  324. package/src/credential/issuance/03-start-user-authorization.ts +48 -22
  325. package/src/credential/issuance/04-complete-user-authorization.ts +74 -18
  326. package/src/credential/issuance/05-authorize-access.ts +29 -11
  327. package/src/credential/issuance/06-obtain-credential.ts +61 -36
  328. package/src/credential/issuance/07-verify-and-parse-credential.ts +37 -264
  329. package/src/credential/issuance/README.md +23 -20
  330. package/src/credential/issuance/const.ts +1 -1
  331. package/src/credential/issuance/index.ts +6 -3
  332. package/src/credential/presentation/01-start-flow.ts +19 -22
  333. package/src/credential/presentation/02-evaluate-rp-trust.ts +5 -4
  334. package/src/credential/presentation/03-get-request-object.ts +36 -8
  335. package/src/credential/presentation/04-retrieve-rp-jwks.ts +6 -148
  336. package/src/credential/presentation/05-verify-request-object.ts +115 -30
  337. package/src/credential/presentation/06-fetch-presentation-definition.ts +5 -35
  338. package/src/credential/presentation/07-evaluate-dcql-query.ts +132 -161
  339. package/src/credential/presentation/07-evaluate-input-descriptor.ts +136 -254
  340. package/src/credential/presentation/08-send-authorization-response.ts +178 -260
  341. package/src/credential/presentation/README.md +74 -79
  342. package/src/credential/presentation/errors.ts +38 -15
  343. package/src/credential/presentation/index.ts +18 -19
  344. package/src/credential/presentation/types.ts +67 -64
  345. package/src/credential/status/01-start-flow.ts +9 -0
  346. package/src/credential/status/02-status-attestation.ts +105 -0
  347. package/src/credential/status/03-verify-and-parse-status-attestation.ts +70 -0
  348. package/src/credential/status/README.md +67 -0
  349. package/src/credential/status/index.ts +22 -0
  350. package/src/credential/status/types.ts +43 -0
  351. package/src/credential/trustmark/README.md +62 -0
  352. package/src/credential/trustmark/get-credential-trustmark.ts +139 -0
  353. package/src/credential/trustmark/index.ts +8 -0
  354. package/src/index.ts +4 -0
  355. package/src/pid/sd-jwt/types.ts +18 -1
  356. package/src/sd-jwt/__test__/index.test.ts +36 -55
  357. package/src/sd-jwt/__test__/types.test.ts +16 -29
  358. package/src/sd-jwt/index.ts +1 -5
  359. package/src/sd-jwt/types.ts +2 -19
  360. package/src/trust/chain.ts +151 -0
  361. package/src/trust/errors.ts +105 -0
  362. package/src/{entity/trust → trust}/index.ts +198 -23
  363. package/src/{entity/trust → trust}/types.ts +24 -37
  364. package/src/trust/utils.ts +35 -0
  365. package/src/utils/crypto.ts +4 -106
  366. package/src/utils/decoder.ts +6 -1
  367. package/src/utils/error-codes.ts +23 -0
  368. package/src/utils/errors.ts +119 -15
  369. package/src/utils/logging.ts +68 -0
  370. package/src/utils/misc.ts +5 -0
  371. package/src/utils/par.ts +19 -6
  372. package/src/utils/string.ts +0 -10
  373. package/src/wallet-instance/index.ts +30 -1
  374. package/src/wallet-instance-attestation/README.md +8 -3
  375. package/src/wallet-instance-attestation/index.ts +2 -2
  376. package/src/wallet-instance-attestation/issuing.ts +33 -12
  377. package/src/wallet-instance-attestation/types.ts +18 -22
  378. package/lib/commonjs/credential/issuance/02-get-issuer-config.js +0 -48
  379. package/lib/commonjs/credential/issuance/02-get-issuer-config.js.map +0 -1
  380. package/lib/commonjs/entity/openid-connect/issuer/index.js +0 -25
  381. package/lib/commonjs/entity/openid-connect/issuer/index.js.map +0 -1
  382. package/lib/commonjs/entity/openid-connect/issuer/types.js +0 -64
  383. package/lib/commonjs/entity/openid-connect/issuer/types.js.map +0 -1
  384. package/lib/commonjs/entity/trust/chain.js.map +0 -1
  385. package/lib/commonjs/entity/trust/index.js +0 -148
  386. package/lib/commonjs/entity/trust/index.js.map +0 -1
  387. package/lib/commonjs/entity/trust/types.js.map +0 -1
  388. package/lib/commonjs/mdoc/converters.js +0 -26
  389. package/lib/commonjs/mdoc/converters.js.map +0 -1
  390. package/lib/commonjs/mdoc/index.js +0 -68
  391. package/lib/commonjs/mdoc/index.js.map +0 -1
  392. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +0 -469
  393. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +0 -1
  394. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +0 -90
  395. package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +0 -1
  396. package/lib/module/credential/issuance/02-get-issuer-config.js +0 -42
  397. package/lib/module/credential/issuance/02-get-issuer-config.js.map +0 -1
  398. package/lib/module/entity/openid-connect/issuer/index.js +0 -20
  399. package/lib/module/entity/openid-connect/issuer/index.js.map +0 -1
  400. package/lib/module/entity/openid-connect/issuer/types.js +0 -48
  401. package/lib/module/entity/openid-connect/issuer/types.js.map +0 -1
  402. package/lib/module/entity/trust/chain.js +0 -113
  403. package/lib/module/entity/trust/chain.js.map +0 -1
  404. package/lib/module/entity/trust/index.js +0 -131
  405. package/lib/module/entity/trust/index.js.map +0 -1
  406. package/lib/module/entity/trust/types.js.map +0 -1
  407. package/lib/module/mdoc/converters.js +0 -20
  408. package/lib/module/mdoc/converters.js.map +0 -1
  409. package/lib/module/mdoc/index.js +0 -60
  410. package/lib/module/mdoc/index.js.map +0 -1
  411. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +0 -462
  412. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +0 -1
  413. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +0 -83
  414. package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +0 -1
  415. package/lib/typescript/credential/issuance/02-get-issuer-config.d.ts +0 -32
  416. package/lib/typescript/credential/issuance/02-get-issuer-config.d.ts.map +0 -1
  417. package/lib/typescript/entity/openid-connect/issuer/index.d.ts +0 -12
  418. package/lib/typescript/entity/openid-connect/issuer/index.d.ts.map +0 -1
  419. package/lib/typescript/entity/openid-connect/issuer/types.d.ts +0 -777
  420. package/lib/typescript/entity/openid-connect/issuer/types.d.ts.map +0 -1
  421. package/lib/typescript/entity/trust/chain.d.ts.map +0 -1
  422. package/lib/typescript/entity/trust/index.d.ts.map +0 -1
  423. package/lib/typescript/mdoc/converters.d.ts +0 -8
  424. package/lib/typescript/mdoc/converters.d.ts.map +0 -1
  425. package/lib/typescript/mdoc/index.d.ts +0 -10
  426. package/lib/typescript/mdoc/index.d.ts.map +0 -1
  427. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts +0 -3
  428. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts.map +0 -1
  429. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts +0 -42
  430. package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts.map +0 -1
  431. package/src/credential/issuance/02-get-issuer-config.ts +0 -67
  432. package/src/entity/openid-connect/issuer/index.ts +0 -27
  433. package/src/entity/openid-connect/issuer/types.ts +0 -76
  434. package/src/entity/trust/chain.ts +0 -154
  435. package/src/mdoc/converters.ts +0 -26
  436. package/src/mdoc/index.ts +0 -95
  437. package/src/utils/credential/issuance/07-verify-and-parse-credentials-inputs.ts +0 -615
  438. package/src/utils/credential/issuance/07-verify-and-parse-credentials-utils.ts +0 -171
@@ -0,0 +1,282 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.buildTrustChain = buildTrustChain;
7
+ exports.getEntityConfiguration = exports.getCredentialIssuerEntityConfiguration = void 0;
8
+ exports.getEntityStatement = getEntityStatement;
9
+ exports.getFederationList = getFederationList;
10
+ exports.getRelyingPartyEntityConfiguration = void 0;
11
+ exports.getSignedEntityConfiguration = getSignedEntityConfiguration;
12
+ exports.getSignedEntityStatement = getSignedEntityStatement;
13
+ exports.getWalletProviderEntityConfiguration = exports.getTrustAnchorEntityConfiguration = void 0;
14
+ exports.verifyTrustChain = verifyTrustChain;
15
+ var _utils = require("./utils");
16
+ var _ioReactNativeJwt = require("@pagopa/io-react-native-jwt");
17
+ var _types = require("./types");
18
+ var _chain = require("./chain");
19
+ var _misc = require("../utils/misc");
20
+ var _errors = require("./errors");
21
+ /**
22
+ * Verify a given trust chain is actually valid.
23
+ * It can handle fast chain renewal, which means we try to fetch a fresh version of each statement.
24
+ *
25
+ * @param trustAnchorEntity The entity configuration of the known trust anchor
26
+ * @param chain The chain of statements to be validated
27
+ * @param renewOnFail Whether to renew the provided chain if the validation fails at first. Default: true
28
+ * @param appFetch Fetch api implementation. Default: the built-in implementation
29
+ * @returns The result of the chain validation
30
+ * @throws {FederationError} If the chain is not valid
31
+ */
32
+ async function verifyTrustChain(trustAnchorEntity, chain) {
33
+ let {
34
+ appFetch = fetch,
35
+ renewOnFail = true
36
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
37
+ try {
38
+ return (0, _chain.validateTrustChain)(trustAnchorEntity, chain);
39
+ } catch (error) {
40
+ if (renewOnFail) {
41
+ const renewedChain = await (0, _chain.renewTrustChain)(chain, appFetch);
42
+ return (0, _chain.validateTrustChain)(trustAnchorEntity, renewedChain);
43
+ } else {
44
+ throw error;
45
+ }
46
+ }
47
+ }
48
+
49
+ /**
50
+ * Fetch the signed entity configuration token for an entity
51
+ *
52
+ * @param entityBaseUrl The url of the entity to fetch
53
+ * @param appFetch (optional) fetch api implementation
54
+ * @returns The signed Entity Configuration token
55
+ */
56
+ async function getSignedEntityConfiguration(entityBaseUrl) {
57
+ let {
58
+ appFetch = fetch
59
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
60
+ const wellKnownUrl = `${entityBaseUrl}/.well-known/openid-federation`;
61
+ return await appFetch(wellKnownUrl, {
62
+ method: "GET"
63
+ }).then((0, _misc.hasStatusOrThrow)(200)).then(res => res.text());
64
+ }
65
+
66
+ /**
67
+ * Fetch and parse the entity configuration document for a given federation entity.
68
+ * This is an inner method to serve public interfaces.
69
+ *
70
+ * To add another entity configuration type (example: Foo entity type):
71
+ * - create its zod schema and type by inherit from the base type (example: FooEntityConfiguration = BaseEntityConfiguration.and(...))
72
+ * - add such type to EntityConfiguration union
73
+ * - add an overload to this function
74
+ * - create a public function which use such type (example: getFooEntityConfiguration = (url, options) => Promise<FooEntityConfiguration>)
75
+ *
76
+ * @param entityBaseUrl The base url of the entity.
77
+ * @param schema The expected schema of the entity configuration, according to the kind of entity we are fetching from.
78
+ * @param options An optional object with additional options.
79
+ * @param options.appFetch An optional instance of the http client to be used.
80
+ * @returns The parsed entity configuration object
81
+ * @throws {IoWalletError} If the http request fails
82
+ * @throws Parse error if the document is not in the expected shape.
83
+ */
84
+
85
+ async function fetchAndParseEntityConfiguration(entityBaseUrl, schema) {
86
+ let {
87
+ appFetch = fetch
88
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
89
+ const responseText = await getSignedEntityConfiguration(entityBaseUrl, {
90
+ appFetch
91
+ });
92
+ const responseJwt = (0, _ioReactNativeJwt.decode)(responseText);
93
+ return schema.parse({
94
+ header: responseJwt.protectedHeader,
95
+ payload: responseJwt.payload
96
+ });
97
+ }
98
+ const getWalletProviderEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.WalletProviderEntityConfiguration, options);
99
+ exports.getWalletProviderEntityConfiguration = getWalletProviderEntityConfiguration;
100
+ const getCredentialIssuerEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.CredentialIssuerEntityConfiguration, options);
101
+ exports.getCredentialIssuerEntityConfiguration = getCredentialIssuerEntityConfiguration;
102
+ const getTrustAnchorEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.TrustAnchorEntityConfiguration, options);
103
+ exports.getTrustAnchorEntityConfiguration = getTrustAnchorEntityConfiguration;
104
+ const getRelyingPartyEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.RelyingPartyEntityConfiguration, options);
105
+ exports.getRelyingPartyEntityConfiguration = getRelyingPartyEntityConfiguration;
106
+ const getEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.EntityConfiguration, options);
107
+
108
+ /**
109
+ * Fetch and parse the entity statement document for a given federation entity.
110
+ *
111
+ * @param accreditationBodyBaseUrl The base url of the accreditation body which holds and signs the required entity statement
112
+ * @param subordinatedEntityBaseUrl The url that identifies the subordinate entity
113
+ * @param appFetch An optional instance of the http client to be used.
114
+ * @returns The parsed entity configuration object
115
+ * @throws {IoWalletError} If the http request fails
116
+ */
117
+ exports.getEntityConfiguration = getEntityConfiguration;
118
+ async function getEntityStatement(accreditationBodyBaseUrl, subordinatedEntityBaseUrl) {
119
+ let {
120
+ appFetch = fetch
121
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
122
+ const responseText = await getSignedEntityStatement(accreditationBodyBaseUrl, subordinatedEntityBaseUrl, {
123
+ appFetch
124
+ });
125
+ const responseJwt = (0, _ioReactNativeJwt.decode)(responseText);
126
+ return _types.EntityStatement.parse({
127
+ header: responseJwt.protectedHeader,
128
+ payload: responseJwt.payload
129
+ });
130
+ }
131
+
132
+ /**
133
+ * Fetch the entity statement document for a given federation entity.
134
+ *
135
+ * @param federationFetchEndpoint The exact endpoint provided by the parent EC's metadata.
136
+ * @param subordinatedEntityBaseUrl The url that identifies the subordinate entity.
137
+ * @param appFetch An optional instance of the http client to be used.
138
+ * @returns The signed entity statement token.
139
+ * @throws {IoWalletError} If the http request fails.
140
+ */
141
+ async function getSignedEntityStatement(federationFetchEndpoint, subordinatedEntityBaseUrl) {
142
+ let {
143
+ appFetch = fetch
144
+ } = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
145
+ const url = new URL(federationFetchEndpoint);
146
+ url.searchParams.set("sub", subordinatedEntityBaseUrl);
147
+ return await appFetch(url.toString(), {
148
+ method: "GET"
149
+ }).then((0, _misc.hasStatusOrThrow)(200)).then(res => res.text());
150
+ }
151
+
152
+ /**
153
+ * Fetch the federation list document from a given endpoint.
154
+ *
155
+ * @param federationListEndpoint The URL of the federation list endpoint.
156
+ * @param appFetch An optional instance of the http client to be used.
157
+ * @returns The federation list as an array of strings.
158
+ * @throws {IoWalletError} If the HTTP request fails.
159
+ * @throws {FederationError} If the result is not in the expected format.
160
+ */
161
+ async function getFederationList(federationListEndpoint) {
162
+ let {
163
+ appFetch = fetch
164
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
165
+ return await appFetch(federationListEndpoint, {
166
+ method: "GET"
167
+ }).then((0, _misc.hasStatusOrThrow)(200)).then(res => res.json()).then(json => {
168
+ const result = _types.FederationListResponse.safeParse(json);
169
+ if (!result.success) {
170
+ throw new _errors.FederationListParseError(`Invalid federation list format received from ${federationListEndpoint}. Error: ${result.error.message}`, {
171
+ url: federationListEndpoint,
172
+ parseError: result.error.toString()
173
+ });
174
+ }
175
+ return result.data;
176
+ });
177
+ }
178
+
179
+ /**
180
+ * Build a not-verified trust chain for a given Relying Party (RP) entity.
181
+ *
182
+ * @param relyingPartyEntityBaseUrl The base URL of the RP entity
183
+ * @param trustAnchorKey The public key of the Trust Anchor (TA) entity
184
+ * @param appFetch An optional instance of the http client to be used.
185
+ * @returns A list of signed tokens that represent the trust chain, in the order of the chain (from the RP to the Trust Anchor)
186
+ * @throws {FederationError} When an element of the chain fails to parse or other build steps fail.
187
+ */
188
+ async function buildTrustChain(relyingPartyEntityBaseUrl, trustAnchorKey) {
189
+ let appFetch = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : fetch;
190
+ // 1: Recursively gather the trust chain from the RP up to the Trust Anchor
191
+ const trustChain = await gatherTrustChain(relyingPartyEntityBaseUrl, appFetch);
192
+
193
+ // 2: Trust Anchor signature verification
194
+ const trustAnchorJwt = trustChain[trustChain.length - 1];
195
+ if (!trustAnchorJwt) {
196
+ throw new _errors.BuildTrustChainError("Cannot verify trust anchor: missing entity configuration in gathered chain.", {
197
+ relyingPartyUrl: relyingPartyEntityBaseUrl
198
+ });
199
+ }
200
+ if (!trustAnchorKey.kid) {
201
+ throw new _errors.TrustAnchorKidMissingError();
202
+ }
203
+ await (0, _utils.verify)(trustAnchorJwt, trustAnchorKey.kid, [trustAnchorKey]);
204
+
205
+ // 3: Check the federation list
206
+ const trustAnchorConfig = _types.EntityConfiguration.parse((0, _utils.decode)(trustAnchorJwt));
207
+ const federationListEndpoint = trustAnchorConfig.payload.metadata.federation_entity.federation_list_endpoint;
208
+ if (federationListEndpoint) {
209
+ const federationList = await getFederationList(federationListEndpoint, {
210
+ appFetch
211
+ });
212
+ if (!federationList.includes(relyingPartyEntityBaseUrl)) {
213
+ throw new _errors.RelyingPartyNotAuthorizedError("Relying Party entity base URL is not authorized by the Trust Anchor's federation list.", {
214
+ relyingPartyUrl: relyingPartyEntityBaseUrl,
215
+ federationListEndpoint
216
+ });
217
+ }
218
+ }
219
+ return trustChain;
220
+ }
221
+
222
+ /**
223
+ * Recursively gather the trust chain for an entity and all its superiors.
224
+ * @param entityBaseUrl The base URL of the entity for which to gather the chain.
225
+ * @param appFetch An optional instance of the http client to be used.
226
+ * @param isLeaf Whether the current entity is the leaf of the chain.
227
+ * @returns A full ordered list of JWTs (ECs and ESs) forming the trust chain.
228
+ * @throws {FederationError} If any of the fetched documents fail to parse or other errors occur during the gathering process.
229
+ */
230
+ async function gatherTrustChain(entityBaseUrl, appFetch) {
231
+ let isLeaf = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
232
+ const chain = [];
233
+
234
+ // Fetch self-signed EC (only needed for the leaf)
235
+ const entityECJwt = await getSignedEntityConfiguration(entityBaseUrl, {
236
+ appFetch
237
+ });
238
+ const entityEC = _types.EntityConfiguration.parse((0, _utils.decode)(entityECJwt));
239
+ if (isLeaf) {
240
+ // Only push EC for the leaf
241
+ chain.push(entityECJwt);
242
+ }
243
+
244
+ // Find authority_hints (parent, if any)
245
+ const authorityHints = entityEC.payload.authority_hints ?? [];
246
+ if (authorityHints.length === 0) {
247
+ // This is the Trust Anchor (no parent)
248
+ if (!isLeaf) {
249
+ chain.push(entityECJwt);
250
+ }
251
+ return chain;
252
+ }
253
+ const parentEntityBaseUrl = authorityHints[0];
254
+
255
+ // Fetch parent EC
256
+ const parentECJwt = await getSignedEntityConfiguration(parentEntityBaseUrl, {
257
+ appFetch
258
+ });
259
+ const parentEC = _types.EntityConfiguration.parse((0, _utils.decode)(parentECJwt));
260
+
261
+ // Fetch ES
262
+ const federationFetchEndpoint = parentEC.payload.metadata.federation_entity.federation_fetch_endpoint;
263
+ if (!federationFetchEndpoint) {
264
+ throw new _errors.MissingFederationFetchEndpointError(`Missing federation_fetch_endpoint in parent's (${parentEntityBaseUrl}) configuration when gathering chain for ${entityBaseUrl}.`, {
265
+ entityBaseUrl,
266
+ missingInEntityUrl: parentEntityBaseUrl
267
+ });
268
+ }
269
+ const entityStatementJwt = await getSignedEntityStatement(federationFetchEndpoint, entityBaseUrl, {
270
+ appFetch
271
+ });
272
+ // Validate the ES
273
+ _types.EntityStatement.parse((0, _utils.decode)(entityStatementJwt));
274
+
275
+ // Push this ES into the chain
276
+ chain.push(entityStatementJwt);
277
+
278
+ // Recurse into the parent
279
+ const parentChain = await gatherTrustChain(parentEntityBaseUrl, appFetch, false);
280
+ return chain.concat(parentChain);
281
+ }
282
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_utils","require","_ioReactNativeJwt","_types","_chain","_misc","_errors","verifyTrustChain","trustAnchorEntity","chain","appFetch","fetch","renewOnFail","arguments","length","undefined","validateTrustChain","error","renewedChain","renewTrustChain","getSignedEntityConfiguration","entityBaseUrl","wellKnownUrl","method","then","hasStatusOrThrow","res","text","fetchAndParseEntityConfiguration","schema","responseText","responseJwt","decodeJwt","parse","header","protectedHeader","payload","getWalletProviderEntityConfiguration","options","WalletProviderEntityConfiguration","exports","getCredentialIssuerEntityConfiguration","CredentialIssuerEntityConfiguration","getTrustAnchorEntityConfiguration","TrustAnchorEntityConfiguration","getRelyingPartyEntityConfiguration","RelyingPartyEntityConfiguration","getEntityConfiguration","EntityConfiguration","getEntityStatement","accreditationBodyBaseUrl","subordinatedEntityBaseUrl","getSignedEntityStatement","EntityStatement","federationFetchEndpoint","url","URL","searchParams","set","toString","getFederationList","federationListEndpoint","json","result","FederationListResponse","safeParse","success","FederationListParseError","message","parseError","data","buildTrustChain","relyingPartyEntityBaseUrl","trustAnchorKey","trustChain","gatherTrustChain","trustAnchorJwt","BuildTrustChainError","relyingPartyUrl","kid","TrustAnchorKidMissingError","verify","trustAnchorConfig","decode","metadata","federation_entity","federation_list_endpoint","federationList","includes","RelyingPartyNotAuthorizedError","isLeaf","entityECJwt","entityEC","push","authorityHints","authority_hints","parentEntityBaseUrl","parentECJwt","parentEC","federation_fetch_endpoint","MissingFederationFetchEndpointError","missingInEntityUrl","entityStatementJwt","parentChain","concat"],"sourceRoot":"../../../src","sources":["trust/index.ts"],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.WalletProviderEntityConfiguration = exports.TrustMark = exports.TrustAnchorEntityConfiguration = exports.RelyingPartyEntityConfiguration = exports.EntityStatement = exports.EntityConfigurationHeader = exports.EntityConfiguration = exports.CredentialIssuerEntityConfiguration = void 0;
7
- var _types = require("../../sd-jwt/types");
8
- var _jwk = require("../../utils/jwk");
6
+ exports.WalletProviderEntityConfiguration = exports.TrustMark = exports.TrustAnchorEntityConfiguration = exports.RelyingPartyEntityConfiguration = exports.FederationListResponse = exports.EntityStatement = exports.EntityConfigurationHeader = exports.EntityConfiguration = exports.CredentialIssuerEntityConfiguration = void 0;
7
+ var _types = require("../sd-jwt/types");
8
+ var _jwk = require("../utils/jwk");
9
9
  var z = _interopRequireWildcard(require("zod"));
10
- var _types2 = require("../../credential/presentation/types");
10
+ var _types2 = require("../credential/presentation/types");
11
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
13
  const TrustMark = z.object({
@@ -24,36 +24,25 @@ const RelyingPartyMetadata = z.object({
24
24
  }),
25
25
  contacts: z.array(z.string()).optional(),
26
26
  presentation_definition: _types2.PresentationDefinition.optional(),
27
- presentation_definition_uri: z.string().optional()
27
+ request_uris: z.array(z.string()).optional(),
28
+ authorization_signed_response_alg: z.string().optional(),
29
+ authorization_encrypted_response_alg: z.string().optional(),
30
+ authorization_encrypted_response_enc: z.string().optional()
28
31
  });
29
- //.passthrough();
30
32
 
31
33
  // Display metadata for a credential, used by the issuer to
32
34
  // instruct the Wallet Solution on how to render the credential correctly
33
35
  const CredentialDisplayMetadata = z.object({
34
36
  name: z.string(),
35
- locale: z.string(),
36
- logo: z.object({
37
- url: z.string(),
38
- alt_text: z.string()
39
- }).optional(),
40
- // TODO [SIW-1268]: should not be optional
41
- background_color: z.string().optional(),
42
- // TODO [SIW-1268]: should not be optional
43
- text_color: z.string().optional() // TODO [SIW-1268]: should not be optional
37
+ locale: z.string()
44
38
  });
45
39
 
46
40
  // Metadata for displaying issuer information
47
41
 
48
42
  const CredentialIssuerDisplayMetadata = z.object({
49
43
  name: z.string(),
50
- locale: z.string(),
51
- logo: z.object({
52
- url: z.string(),
53
- alt_text: z.string()
54
- }).optional() // TODO [SIW-1268]: should not be optional
44
+ locale: z.string()
55
45
  });
56
-
57
46
  const ClaimsMetadata = z.record(z.object({
58
47
  value_type: z.string(),
59
48
  display: z.array(z.object({
@@ -69,14 +58,13 @@ const IssuanceErrorSupported = z.object({
69
58
  }))
70
59
  });
71
60
 
72
- // Metadata for a credentia which is supported by a Issuer
61
+ // Metadata for a credential which is supported by an Issuer
73
62
 
74
63
  const SupportedCredentialMetadata = z.object({
75
- format: z.union([z.literal("vc+sd-jwt"), z.literal("mso_mdoc")]),
64
+ format: z.union([z.literal("vc+sd-jwt"), z.literal("vc+mdoc-cbor")]),
76
65
  scope: z.string(),
77
66
  display: z.array(CredentialDisplayMetadata),
78
- claims: ClaimsMetadata.optional(),
79
- // TODO [SIW-1268]: should not be optional
67
+ claims: ClaimsMetadata,
80
68
  cryptographic_binding_methods_supported: z.array(z.string()),
81
69
  credential_signing_alg_values_supported: z.array(z.string()),
82
70
  authentic_source: z.string().optional(),
@@ -94,7 +82,7 @@ const EntityStatement = z.object({
94
82
  jwks: z.object({
95
83
  keys: z.array(_jwk.JWK)
96
84
  }),
97
- trust_marks: z.array(TrustMark),
85
+ trust_marks: z.array(TrustMark).optional(),
98
86
  iat: z.number(),
99
87
  exp: z.number()
100
88
  })
@@ -107,7 +95,7 @@ const EntityConfigurationHeader = z.object({
107
95
  });
108
96
 
109
97
  /**
110
- * @see https://openid.net/specs/openid-connect-federation-1_0-29.html#name-federation-entity
98
+ * @see https://openid.net/specs/openid-federation-1_0-41.html
111
99
  */
112
100
  exports.EntityConfigurationHeader = EntityConfigurationHeader;
113
101
  const FederationEntityMetadata = z.object({
@@ -116,6 +104,9 @@ const FederationEntityMetadata = z.object({
116
104
  federation_resolve_endpoint: z.string().optional(),
117
105
  federation_trust_mark_status_endpoint: z.string().optional(),
118
106
  federation_trust_mark_list_endpoint: z.string().optional(),
107
+ federation_trust_mark_endpoint: z.string().optional(),
108
+ federation_historical_keys_endpoint: z.string().optional(),
109
+ endpoint_auth_signing_alg_values_supported: z.string().optional(),
119
110
  organization_name: z.string().optional(),
120
111
  homepage_uri: z.string().optional(),
121
112
  policy_uri: z.string().optional(),
@@ -123,7 +114,7 @@ const FederationEntityMetadata = z.object({
123
114
  contacts: z.array(z.string()).optional()
124
115
  }).passthrough();
125
116
 
126
- // Structuire common to every Entity Configuration document
117
+ // Structure common to every Entity Configuration document
127
118
  const BaseEntityConfiguration = z.object({
128
119
  header: EntityConfigurationHeader,
129
120
  payload: z.object({
@@ -167,15 +158,9 @@ const CredentialIssuerEntityConfiguration = BaseEntityConfiguration.and(z.object
167
158
  oauth_authorization_server: z.object({
168
159
  authorization_endpoint: z.string(),
169
160
  pushed_authorization_request_endpoint: z.string(),
170
- dpop_signing_alg_values_supported: z.array(z.string()).optional(),
171
- // TODO [SIW-1268]: should not be optional
172
161
  token_endpoint: z.string(),
173
- introspection_endpoint: z.string().optional(),
174
- // TODO [SIW-1268]: should not be optional
175
162
  client_registration_types_supported: z.array(z.string()),
176
163
  code_challenge_methods_supported: z.array(z.string()),
177
- authorization_details_types_supported: z.array(z.string()).optional(),
178
- // TODO [SIW-1268]: should not be optional,
179
164
  acr_values_supported: z.array(z.string()),
180
165
  grant_types_supported: z.array(z.string()),
181
166
  issuer: z.string(),
@@ -183,23 +168,16 @@ const CredentialIssuerEntityConfiguration = BaseEntityConfiguration.and(z.object
183
168
  keys: z.array(_jwk.JWK)
184
169
  }),
185
170
  scopes_supported: z.array(z.string()),
186
- request_parameter_supported: z.boolean().optional(),
187
- // TODO [SIW-1268]: should not be optional
188
- request_uri_parameter_supported: z.boolean().optional(),
189
- // TODO [SIW-1268]: should not be optional
190
- response_types_supported: z.array(z.string()).optional(),
191
- // TODO [SIW-1268]: should not be optional
192
171
  response_modes_supported: z.array(z.string()),
193
- subject_types_supported: z.array(z.string()).optional(),
194
- // TODO [SIW-1268]: should not be optional
195
172
  token_endpoint_auth_methods_supported: z.array(z.string()),
196
173
  token_endpoint_auth_signing_alg_values_supported: z.array(z.string()),
197
174
  request_object_signing_alg_values_supported: z.array(z.string())
198
175
  }),
199
- /** Credential Issuers act as Relying Party
200
- when they require the presentation of other credentials.
201
- This does not apply for PID issuance, which requires CIE authz. */
202
- wallet_relying_party: RelyingPartyMetadata.optional()
176
+ /**
177
+ * Credential Issuers act as Relying Party when they require the presentation of other credentials.
178
+ * This does not apply for PID issuance, which requires CIE authz.
179
+ */
180
+ openid_credential_verifier: RelyingPartyMetadata.optional()
203
181
  })
204
182
  })
205
183
  }));
@@ -209,7 +187,7 @@ exports.CredentialIssuerEntityConfiguration = CredentialIssuerEntityConfiguratio
209
187
  const RelyingPartyEntityConfiguration = BaseEntityConfiguration.and(z.object({
210
188
  payload: z.object({
211
189
  metadata: z.object({
212
- wallet_relying_party: RelyingPartyMetadata
190
+ openid_credential_verifier: RelyingPartyMetadata
213
191
  })
214
192
  })
215
193
  }));
@@ -239,4 +217,6 @@ const EntityConfiguration = z.union([WalletProviderEntityConfiguration, Credenti
239
217
  description: "Any kind of Entity Configuration allowed in the ecosystem"
240
218
  });
241
219
  exports.EntityConfiguration = EntityConfiguration;
220
+ const FederationListResponse = z.array(z.string());
221
+ exports.FederationListResponse = FederationListResponse;
242
222
  //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_types","require","_jwk","z","_interopRequireWildcard","_types2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TrustMark","object","id","string","trust_mark","exports","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","JWK","contacts","presentation_definition","PresentationDefinition","request_uris","authorization_signed_response_alg","authorization_encrypted_response_alg","authorization_encrypted_response_enc","CredentialDisplayMetadata","name","locale","CredentialIssuerDisplayMetadata","ClaimsMetadata","record","value_type","display","IssuanceErrorSupported","title","description","SupportedCredentialMetadata","format","union","literal","scope","claims","cryptographic_binding_methods_supported","credential_signing_alg_values_supported","authentic_source","issuance_errors_supported","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","federation_trust_mark_endpoint","federation_historical_keys_endpoint","endpoint_auth_signing_alg_values_supported","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","UnixTime","authority_hints","metadata","federation_entity","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","credential_endpoint","revocation_endpoint","status_attestation_endpoint","credential_configurations_supported","oauth_authorization_server","authorization_endpoint","pushed_authorization_request_endpoint","token_endpoint","client_registration_types_supported","code_challenge_methods_supported","acr_values_supported","grant_types_supported","issuer","scopes_supported","response_modes_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","request_object_signing_alg_values_supported","openid_credential_verifier","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","aal_values_supported","EntityConfiguration","FederationListResponse"],"sourceRoot":"../../../src","sources":["trust/types.ts"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.verify = exports.decode = void 0;
7
+ var _ioReactNativeJwt = require("@pagopa/io-react-native-jwt");
8
+ // Verify a token signature
9
+ // The kid is extracted from the token header
10
+ const verify = async (token, kid, jwks) => {
11
+ const jwk = jwks.find(k => k.kid === kid);
12
+ if (!jwk) {
13
+ throw new Error(`Invalid kid: ${kid}, token: ${token}`);
14
+ }
15
+ const {
16
+ protectedHeader: header,
17
+ payload
18
+ } = await (0, _ioReactNativeJwt.verify)(token, jwk);
19
+ return {
20
+ header,
21
+ payload
22
+ };
23
+ };
24
+
25
+ /**
26
+ * Return type for this function is necessary to avoid an issue during the bob build process.
27
+ * It seems like typescript can't correctly infer the return type of the function.
28
+ */
29
+ exports.verify = verify;
30
+ const decode = token => {
31
+ const {
32
+ protectedHeader: header,
33
+ payload
34
+ } = (0, _ioReactNativeJwt.decode)(token);
35
+ return {
36
+ header,
37
+ payload
38
+ };
39
+ };
40
+ exports.decode = decode;
41
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_ioReactNativeJwt","require","verify","token","kid","jwks","jwk","find","k","Error","protectedHeader","header","payload","verifyJwt","exports","decode","decodeJwt"],"sourceRoot":"../../../src","sources":["trust/utils.ts"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAYA;AACA;AACO,MAAMC,MAAM,GAAG,MAAAA,CACpBC,KAAa,EACbC,GAAW,EACXC,IAAW,KACc;EACzB,MAAMC,GAAG,GAAGD,IAAI,CAACE,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACJ,GAAG,KAAKA,GAAG,CAAC;EAC3C,IAAI,CAACE,GAAG,EAAE;IACR,MAAM,IAAIG,KAAK,CAAE,gBAAeL,GAAI,YAAWD,KAAM,EAAC,CAAC;EACzD;EACA,MAAM;IAAEO,eAAe,EAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAG,MAAM,IAAAC,wBAAS,EAACV,KAAK,EAAEG,GAAG,CAAC;EACxE,OAAO;IAAEK,MAAM;IAAEC;EAAQ,CAAC;AAC5B,CAAC;;AAED;AACA;AACA;AACA;AAHAE,OAAA,CAAAZ,MAAA,GAAAA,MAAA;AAIO,MAAMa,MAAM,GAAIZ,KAAa,IAAkB;EACpD,MAAM;IAAEO,eAAe,EAAEC,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAI,wBAAS,EAACb,KAAK,CAAC;EAC7D,OAAO;IAAEQ,MAAM;IAAEC;EAAQ,CAAC;AAC5B,CAAC;AAACE,OAAA,CAAAC,MAAA,GAAAA,MAAA"}