@pagopa/io-react-native-wallet 3.0.1 → 3.1.1

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 (505) hide show
  1. package/lib/commonjs/api/index.js +3 -0
  2. package/lib/commonjs/api/index.js.map +1 -1
  3. package/lib/commonjs/client/generated/wallet-provider.js +42 -4
  4. package/lib/commonjs/client/generated/wallet-provider.js.map +1 -1
  5. package/lib/commonjs/client/index.js +5 -3
  6. package/lib/commonjs/client/index.js.map +1 -1
  7. package/lib/commonjs/credential/issuance/README.md +2 -0
  8. package/lib/commonjs/credential/issuance/api/IssuerConfig.js +2 -2
  9. package/lib/commonjs/credential/issuance/api/IssuerConfig.js.map +1 -1
  10. package/lib/commonjs/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js +2 -0
  11. package/lib/commonjs/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js.map +1 -1
  12. package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js +2 -0
  13. package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
  14. package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js +15 -8
  15. package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
  16. package/lib/commonjs/credential/issuance/v1.3.3/mappers.js +0 -1
  17. package/lib/commonjs/credential/issuance/v1.3.3/mappers.js.map +1 -1
  18. package/lib/commonjs/credential/presentation/api/{06-send-authorization-response.js → 04-verify-certificate-chain.js} +1 -1
  19. package/lib/commonjs/credential/presentation/api/04-verify-certificate-chain.js.map +1 -0
  20. package/lib/commonjs/credential/presentation/api/{04-verify-request-object.js → 05-verify-request-object.js} +1 -1
  21. package/lib/commonjs/credential/presentation/api/05-verify-request-object.js.map +1 -0
  22. package/lib/commonjs/credential/presentation/api/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  23. package/lib/commonjs/credential/presentation/api/06-evaluate-dcql-query.js.map +1 -0
  24. package/lib/commonjs/credential/presentation/api/07-send-authorization-response.js +6 -0
  25. package/lib/commonjs/credential/presentation/api/07-send-authorization-response.js.map +1 -0
  26. package/lib/commonjs/credential/presentation/api/RelyingPartyConfig.js +2 -2
  27. package/lib/commonjs/credential/presentation/api/RelyingPartyConfig.js.map +1 -1
  28. package/lib/commonjs/credential/presentation/api/index.js.map +1 -1
  29. package/lib/commonjs/credential/presentation/v1.0.0/04-verify-certificate-chain.js +12 -0
  30. package/lib/commonjs/credential/presentation/v1.0.0/04-verify-certificate-chain.js.map +1 -0
  31. package/lib/commonjs/credential/presentation/v1.0.0/{04-verify-request-object.js → 05-verify-request-object.js} +1 -1
  32. package/lib/commonjs/credential/presentation/v1.0.0/{04-verify-request-object.js.map → 05-verify-request-object.js.map} +1 -1
  33. package/lib/commonjs/credential/presentation/v1.0.0/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  34. package/lib/commonjs/credential/presentation/v1.0.0/{05-evaluate-dcql-query.js.map → 06-evaluate-dcql-query.js.map} +1 -1
  35. package/lib/commonjs/credential/presentation/v1.0.0/{06-send-authorization-response.js → 07-send-authorization-response.js} +1 -1
  36. package/lib/commonjs/credential/presentation/v1.0.0/{06-send-authorization-response.js.map → 07-send-authorization-response.js.map} +1 -1
  37. package/lib/commonjs/credential/presentation/v1.0.0/index.js +5 -3
  38. package/lib/commonjs/credential/presentation/v1.0.0/index.js.map +1 -1
  39. package/lib/commonjs/credential/presentation/v1.3.3/04-verify-certificate-chain.js +33 -0
  40. package/lib/commonjs/credential/presentation/v1.3.3/04-verify-certificate-chain.js.map +1 -0
  41. package/lib/commonjs/credential/presentation/v1.3.3/{04-verify-request-object.js → 05-verify-request-object.js} +5 -3
  42. package/lib/commonjs/credential/presentation/v1.3.3/05-verify-request-object.js.map +1 -0
  43. package/lib/commonjs/credential/presentation/v1.3.3/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  44. package/lib/commonjs/credential/presentation/v1.3.3/{05-evaluate-dcql-query.js.map → 06-evaluate-dcql-query.js.map} +1 -1
  45. package/lib/commonjs/credential/presentation/v1.3.3/{06-send-authorization-response.js → 07-send-authorization-response.js} +1 -1
  46. package/lib/commonjs/credential/presentation/v1.3.3/{06-send-authorization-response.js.map → 07-send-authorization-response.js.map} +1 -1
  47. package/lib/commonjs/credential/presentation/v1.3.3/index.js +5 -3
  48. package/lib/commonjs/credential/presentation/v1.3.3/index.js.map +1 -1
  49. package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js +53 -13
  50. package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
  51. package/lib/commonjs/credentials-catalogue/v1.0.0/mappers.js +16 -5
  52. package/lib/commonjs/credentials-catalogue/v1.0.0/mappers.js.map +1 -1
  53. package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-translations.js +32 -0
  54. package/lib/commonjs/credentials-catalogue/v1.3.3/fetch-translations.js.map +1 -0
  55. package/lib/commonjs/credentials-catalogue/v1.3.3/index.js +3 -1
  56. package/lib/commonjs/credentials-catalogue/v1.3.3/index.js.map +1 -1
  57. package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js +6 -2
  58. package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
  59. package/lib/commonjs/credentials-catalogue/v1.3.3/types.js +91 -30
  60. package/lib/commonjs/credentials-catalogue/v1.3.3/types.js.map +1 -1
  61. package/lib/commonjs/credentials-catalogue/v1.3.3/utils.js +36 -5
  62. package/lib/commonjs/credentials-catalogue/v1.3.3/utils.js.map +1 -1
  63. package/lib/commonjs/index.js +3 -1
  64. package/lib/commonjs/index.js.map +1 -1
  65. package/lib/commonjs/trust/common/types.js +3 -3
  66. package/lib/commonjs/trust/common/types.js.map +1 -1
  67. package/lib/commonjs/trust/v1.0.0/types.js +6 -8
  68. package/lib/commonjs/trust/v1.0.0/types.js.map +1 -1
  69. package/lib/commonjs/trust/v1.3.3/types.js +1 -3
  70. package/lib/commonjs/trust/v1.3.3/types.js.map +1 -1
  71. package/lib/commonjs/utils/callbacks.js +2 -0
  72. package/lib/commonjs/utils/callbacks.js.map +1 -1
  73. package/lib/commonjs/utils/crypto.js +8 -0
  74. package/lib/commonjs/utils/crypto.js.map +1 -1
  75. package/lib/commonjs/utils/dpop.js +1 -1
  76. package/lib/commonjs/utils/dpop.js.map +1 -1
  77. package/lib/commonjs/utils/jwk.js +1 -1
  78. package/lib/commonjs/utils/jwk.js.map +1 -1
  79. package/lib/commonjs/utils/zod.js +1 -1
  80. package/lib/commonjs/utils/zod.js.map +1 -1
  81. package/lib/commonjs/wallet-instance-attestation/README.md +13 -10
  82. package/lib/commonjs/wallet-instance-attestation/api/types.js +9 -4
  83. package/lib/commonjs/wallet-instance-attestation/api/types.js.map +1 -1
  84. package/lib/commonjs/wallet-instance-attestation/v1.0.0/index.js +2 -2
  85. package/lib/commonjs/wallet-instance-attestation/v1.0.0/index.js.map +1 -1
  86. package/lib/commonjs/wallet-instance-attestation/v1.0.0/issuing.js +4 -5
  87. package/lib/commonjs/wallet-instance-attestation/v1.0.0/issuing.js.map +1 -1
  88. package/lib/commonjs/wallet-instance-attestation/v1.0.0/mappers.js +4 -5
  89. package/lib/commonjs/wallet-instance-attestation/v1.0.0/mappers.js.map +1 -1
  90. package/lib/commonjs/wallet-instance-attestation/v1.3.3/index.js +5 -7
  91. package/lib/commonjs/wallet-instance-attestation/v1.3.3/index.js.map +1 -1
  92. package/lib/commonjs/wallet-instance-attestation/v1.3.3/issuing.js +73 -3
  93. package/lib/commonjs/wallet-instance-attestation/v1.3.3/issuing.js.map +1 -1
  94. package/lib/commonjs/wallet-instance-attestation/v1.3.3/mappers.js +26 -0
  95. package/lib/commonjs/wallet-instance-attestation/v1.3.3/mappers.js.map +1 -0
  96. package/lib/commonjs/wallet-instance-attestation/v1.3.3/types.js +13 -24
  97. package/lib/commonjs/wallet-instance-attestation/v1.3.3/types.js.map +1 -1
  98. package/lib/commonjs/wallet-instance-attestation/v1.3.3/utils.js +35 -0
  99. package/lib/commonjs/wallet-instance-attestation/v1.3.3/utils.js.map +1 -0
  100. package/lib/commonjs/wallet-unit-attestation/README.md +73 -0
  101. package/lib/commonjs/wallet-unit-attestation/api/index.js +6 -0
  102. package/lib/commonjs/wallet-unit-attestation/api/index.js.map +1 -0
  103. package/lib/commonjs/wallet-unit-attestation/api/types.js +45 -0
  104. package/lib/commonjs/wallet-unit-attestation/api/types.js.map +1 -0
  105. package/lib/commonjs/wallet-unit-attestation/index.js +20 -0
  106. package/lib/commonjs/wallet-unit-attestation/index.js.map +1 -0
  107. package/lib/commonjs/wallet-unit-attestation/v1.0.0/index.js +11 -0
  108. package/lib/commonjs/wallet-unit-attestation/v1.0.0/index.js.map +1 -0
  109. package/lib/commonjs/wallet-unit-attestation/v1.3.3/index.js +17 -0
  110. package/lib/commonjs/wallet-unit-attestation/v1.3.3/index.js.map +1 -0
  111. package/lib/commonjs/wallet-unit-attestation/v1.3.3/issuing.js +118 -0
  112. package/lib/commonjs/wallet-unit-attestation/v1.3.3/issuing.js.map +1 -0
  113. package/lib/commonjs/wallet-unit-attestation/v1.3.3/mappers.js +13 -0
  114. package/lib/commonjs/wallet-unit-attestation/v1.3.3/mappers.js.map +1 -0
  115. package/lib/commonjs/wallet-unit-attestation/v1.3.3/types.js +23 -0
  116. package/lib/commonjs/wallet-unit-attestation/v1.3.3/types.js.map +1 -0
  117. package/lib/commonjs/wallet-unit-attestation/v1.3.3/utils.js +20 -0
  118. package/lib/commonjs/wallet-unit-attestation/v1.3.3/utils.js.map +1 -0
  119. package/lib/module/api/index.js +3 -0
  120. package/lib/module/api/index.js.map +1 -1
  121. package/lib/module/client/generated/wallet-provider.js +33 -1
  122. package/lib/module/client/generated/wallet-provider.js.map +1 -1
  123. package/lib/module/client/index.js +4 -2
  124. package/lib/module/client/index.js.map +1 -1
  125. package/lib/module/credential/issuance/README.md +2 -0
  126. package/lib/module/credential/issuance/api/IssuerConfig.js +2 -2
  127. package/lib/module/credential/issuance/api/IssuerConfig.js.map +1 -1
  128. package/lib/module/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js +2 -0
  129. package/lib/module/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js.map +1 -1
  130. package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js +2 -0
  131. package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
  132. package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js +16 -9
  133. package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
  134. package/lib/module/credential/issuance/v1.3.3/mappers.js +0 -1
  135. package/lib/module/credential/issuance/v1.3.3/mappers.js.map +1 -1
  136. package/lib/module/credential/presentation/api/04-verify-certificate-chain.js +2 -0
  137. package/lib/module/credential/presentation/api/04-verify-certificate-chain.js.map +1 -0
  138. package/lib/module/credential/presentation/api/05-verify-request-object.js +2 -0
  139. package/lib/module/credential/presentation/api/05-verify-request-object.js.map +1 -0
  140. package/lib/module/credential/presentation/api/06-evaluate-dcql-query.js +2 -0
  141. package/lib/module/credential/presentation/api/06-evaluate-dcql-query.js.map +1 -0
  142. package/lib/module/credential/presentation/api/07-send-authorization-response.js +2 -0
  143. package/lib/module/credential/presentation/api/07-send-authorization-response.js.map +1 -0
  144. package/lib/module/credential/presentation/api/RelyingPartyConfig.js +1 -1
  145. package/lib/module/credential/presentation/api/RelyingPartyConfig.js.map +1 -1
  146. package/lib/module/credential/presentation/api/index.js.map +1 -1
  147. package/lib/module/credential/presentation/v1.0.0/04-verify-certificate-chain.js +5 -0
  148. package/lib/module/credential/presentation/v1.0.0/04-verify-certificate-chain.js.map +1 -0
  149. package/lib/module/credential/presentation/v1.0.0/{04-verify-request-object.js → 05-verify-request-object.js} +1 -1
  150. package/lib/module/credential/presentation/v1.0.0/{04-verify-request-object.js.map → 05-verify-request-object.js.map} +1 -1
  151. package/lib/module/credential/presentation/v1.0.0/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  152. package/lib/module/credential/presentation/v1.0.0/{05-evaluate-dcql-query.js.map → 06-evaluate-dcql-query.js.map} +1 -1
  153. package/lib/module/credential/presentation/v1.0.0/{06-send-authorization-response.js → 07-send-authorization-response.js} +1 -1
  154. package/lib/module/credential/presentation/v1.0.0/{06-send-authorization-response.js.map → 07-send-authorization-response.js.map} +1 -1
  155. package/lib/module/credential/presentation/v1.0.0/index.js +5 -3
  156. package/lib/module/credential/presentation/v1.0.0/index.js.map +1 -1
  157. package/lib/module/credential/presentation/v1.3.3/04-verify-certificate-chain.js +26 -0
  158. package/lib/module/credential/presentation/v1.3.3/04-verify-certificate-chain.js.map +1 -0
  159. package/lib/module/credential/presentation/v1.3.3/{04-verify-request-object.js → 05-verify-request-object.js} +5 -3
  160. package/lib/module/credential/presentation/v1.3.3/05-verify-request-object.js.map +1 -0
  161. package/lib/module/credential/presentation/v1.3.3/{05-evaluate-dcql-query.js → 06-evaluate-dcql-query.js} +1 -1
  162. package/lib/module/credential/presentation/v1.3.3/{05-evaluate-dcql-query.js.map → 06-evaluate-dcql-query.js.map} +1 -1
  163. package/lib/module/credential/presentation/v1.3.3/{06-send-authorization-response.js → 07-send-authorization-response.js} +1 -1
  164. package/lib/module/credential/presentation/v1.3.3/{06-send-authorization-response.js.map → 07-send-authorization-response.js.map} +1 -1
  165. package/lib/module/credential/presentation/v1.3.3/index.js +5 -3
  166. package/lib/module/credential/presentation/v1.3.3/index.js.map +1 -1
  167. package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js +52 -12
  168. package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
  169. package/lib/module/credentials-catalogue/v1.0.0/mappers.js +16 -5
  170. package/lib/module/credentials-catalogue/v1.0.0/mappers.js.map +1 -1
  171. package/lib/module/credentials-catalogue/v1.3.3/fetch-translations.js +25 -0
  172. package/lib/module/credentials-catalogue/v1.3.3/fetch-translations.js.map +1 -0
  173. package/lib/module/credentials-catalogue/v1.3.3/index.js +3 -1
  174. package/lib/module/credentials-catalogue/v1.3.3/index.js.map +1 -1
  175. package/lib/module/credentials-catalogue/v1.3.3/mappers.js +6 -2
  176. package/lib/module/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
  177. package/lib/module/credentials-catalogue/v1.3.3/types.js +91 -30
  178. package/lib/module/credentials-catalogue/v1.3.3/types.js.map +1 -1
  179. package/lib/module/credentials-catalogue/v1.3.3/utils.js +32 -4
  180. package/lib/module/credentials-catalogue/v1.3.3/utils.js.map +1 -1
  181. package/lib/module/index.js +2 -1
  182. package/lib/module/index.js.map +1 -1
  183. package/lib/module/trust/common/types.js +3 -3
  184. package/lib/module/trust/common/types.js.map +1 -1
  185. package/lib/module/trust/v1.0.0/types.js +5 -7
  186. package/lib/module/trust/v1.0.0/types.js.map +1 -1
  187. package/lib/module/trust/v1.3.3/types.js +1 -3
  188. package/lib/module/trust/v1.3.3/types.js.map +1 -1
  189. package/lib/module/utils/callbacks.js +3 -0
  190. package/lib/module/utils/callbacks.js.map +1 -1
  191. package/lib/module/utils/crypto.js +8 -0
  192. package/lib/module/utils/crypto.js.map +1 -1
  193. package/lib/module/utils/dpop.js +1 -1
  194. package/lib/module/utils/dpop.js.map +1 -1
  195. package/lib/module/utils/jwk.js +1 -1
  196. package/lib/module/utils/jwk.js.map +1 -1
  197. package/lib/module/utils/zod.js +1 -1
  198. package/lib/module/utils/zod.js.map +1 -1
  199. package/lib/module/wallet-instance-attestation/README.md +13 -10
  200. package/lib/module/wallet-instance-attestation/api/types.js +7 -2
  201. package/lib/module/wallet-instance-attestation/api/types.js.map +1 -1
  202. package/lib/module/wallet-instance-attestation/v1.0.0/index.js +3 -3
  203. package/lib/module/wallet-instance-attestation/v1.0.0/index.js.map +1 -1
  204. package/lib/module/wallet-instance-attestation/v1.0.0/issuing.js +4 -5
  205. package/lib/module/wallet-instance-attestation/v1.0.0/issuing.js.map +1 -1
  206. package/lib/module/wallet-instance-attestation/v1.0.0/mappers.js +3 -4
  207. package/lib/module/wallet-instance-attestation/v1.0.0/mappers.js.map +1 -1
  208. package/lib/module/wallet-instance-attestation/v1.3.3/index.js +5 -7
  209. package/lib/module/wallet-instance-attestation/v1.3.3/index.js.map +1 -1
  210. package/lib/module/wallet-instance-attestation/v1.3.3/issuing.js +73 -3
  211. package/lib/module/wallet-instance-attestation/v1.3.3/issuing.js.map +1 -1
  212. package/lib/module/wallet-instance-attestation/v1.3.3/mappers.js +19 -0
  213. package/lib/module/wallet-instance-attestation/v1.3.3/mappers.js.map +1 -0
  214. package/lib/module/wallet-instance-attestation/v1.3.3/types.js +10 -21
  215. package/lib/module/wallet-instance-attestation/v1.3.3/types.js.map +1 -1
  216. package/lib/module/wallet-instance-attestation/v1.3.3/utils.js +29 -0
  217. package/lib/module/wallet-instance-attestation/v1.3.3/utils.js.map +1 -0
  218. package/lib/module/wallet-unit-attestation/README.md +73 -0
  219. package/lib/module/wallet-unit-attestation/api/index.js +2 -0
  220. package/lib/module/wallet-unit-attestation/api/index.js.map +1 -0
  221. package/lib/module/wallet-unit-attestation/api/types.js +36 -0
  222. package/lib/module/wallet-unit-attestation/api/types.js.map +1 -0
  223. package/lib/module/wallet-unit-attestation/index.js +3 -0
  224. package/lib/module/wallet-unit-attestation/index.js.map +1 -0
  225. package/lib/module/wallet-unit-attestation/v1.0.0/index.js +4 -0
  226. package/lib/module/wallet-unit-attestation/v1.0.0/index.js.map +1 -0
  227. package/lib/module/wallet-unit-attestation/v1.3.3/index.js +10 -0
  228. package/lib/module/wallet-unit-attestation/v1.3.3/index.js.map +1 -0
  229. package/lib/module/wallet-unit-attestation/v1.3.3/issuing.js +112 -0
  230. package/lib/module/wallet-unit-attestation/v1.3.3/issuing.js.map +1 -0
  231. package/lib/module/wallet-unit-attestation/v1.3.3/mappers.js +6 -0
  232. package/lib/module/wallet-unit-attestation/v1.3.3/mappers.js.map +1 -0
  233. package/lib/module/wallet-unit-attestation/v1.3.3/types.js +14 -0
  234. package/lib/module/wallet-unit-attestation/v1.3.3/types.js.map +1 -0
  235. package/lib/module/wallet-unit-attestation/v1.3.3/utils.js +15 -0
  236. package/lib/module/wallet-unit-attestation/v1.3.3/utils.js.map +1 -0
  237. package/lib/typescript/api/index.d.ts +2 -0
  238. package/lib/typescript/api/index.d.ts.map +1 -1
  239. package/lib/typescript/client/generated/wallet-provider.d.ts +122 -358
  240. package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
  241. package/lib/typescript/client/index.d.ts.map +1 -1
  242. package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts +2 -0
  243. package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts.map +1 -1
  244. package/lib/typescript/credential/issuance/api/IssuerConfig.d.ts +21 -357
  245. package/lib/typescript/credential/issuance/api/IssuerConfig.d.ts.map +1 -1
  246. package/lib/typescript/credential/issuance/api/types.d.ts +5 -41
  247. package/lib/typescript/credential/issuance/api/types.d.ts.map +1 -1
  248. package/lib/typescript/credential/issuance/common/02-start-user-authorization.d.ts.map +1 -1
  249. package/lib/typescript/credential/issuance/common/authorization.d.ts.map +1 -1
  250. package/lib/typescript/credential/issuance/v1.0.0/03-complete-user-authorization.d.ts.map +1 -1
  251. package/lib/typescript/credential/issuance/v1.0.0/05-obtain-credential.d.ts.map +1 -1
  252. package/lib/typescript/credential/issuance/v1.0.0/mappers.d.ts +103 -106
  253. package/lib/typescript/credential/issuance/v1.0.0/mappers.d.ts.map +1 -1
  254. package/lib/typescript/credential/issuance/v1.0.0/types.d.ts +4 -26
  255. package/lib/typescript/credential/issuance/v1.0.0/types.d.ts.map +1 -1
  256. package/lib/typescript/credential/issuance/v1.3.3/01-evaluate-issuer-trust.d.ts.map +1 -1
  257. package/lib/typescript/credential/issuance/v1.3.3/03-complete-user-authorization.d.ts.map +1 -1
  258. package/lib/typescript/credential/issuance/v1.3.3/05-obtain-credential.d.ts.map +1 -1
  259. package/lib/typescript/credential/issuance/v1.3.3/mappers.d.ts +594 -2095
  260. package/lib/typescript/credential/issuance/v1.3.3/mappers.d.ts.map +1 -1
  261. package/lib/typescript/credential/issuance/v1.3.3/types.d.ts +1 -5
  262. package/lib/typescript/credential/issuance/v1.3.3/types.d.ts.map +1 -1
  263. package/lib/typescript/credential/presentation/api/04-verify-certificate-chain.d.ts +17 -0
  264. package/lib/typescript/credential/presentation/api/04-verify-certificate-chain.d.ts.map +1 -0
  265. package/lib/typescript/credential/presentation/api/{04-verify-request-object.d.ts → 05-verify-request-object.d.ts} +1 -1
  266. package/lib/typescript/credential/presentation/api/{04-verify-request-object.d.ts.map → 05-verify-request-object.d.ts.map} +1 -1
  267. package/lib/typescript/credential/presentation/api/{05-evaluate-dcql-query.d.ts → 06-evaluate-dcql-query.d.ts} +1 -1
  268. package/lib/typescript/credential/presentation/api/{05-evaluate-dcql-query.d.ts.map → 06-evaluate-dcql-query.d.ts.map} +1 -1
  269. package/lib/typescript/credential/presentation/api/{06-send-authorization-response.d.ts → 07-send-authorization-response.d.ts} +2 -2
  270. package/lib/typescript/credential/presentation/api/{06-send-authorization-response.d.ts.map → 07-send-authorization-response.d.ts.map} +1 -1
  271. package/lib/typescript/credential/presentation/api/RelyingPartyConfig.d.ts +9 -154
  272. package/lib/typescript/credential/presentation/api/RelyingPartyConfig.d.ts.map +1 -1
  273. package/lib/typescript/credential/presentation/api/index.d.ts +5 -4
  274. package/lib/typescript/credential/presentation/api/index.d.ts.map +1 -1
  275. package/lib/typescript/credential/presentation/api/types.d.ts +30 -106
  276. package/lib/typescript/credential/presentation/api/types.d.ts.map +1 -1
  277. package/lib/typescript/credential/presentation/common/utils/dcql.d.ts +29 -244
  278. package/lib/typescript/credential/presentation/common/utils/dcql.d.ts.map +1 -1
  279. package/lib/typescript/credential/presentation/common/utils/http.d.ts.map +1 -1
  280. package/lib/typescript/credential/presentation/common/utils/sd-jwt.d.ts.map +1 -1
  281. package/lib/typescript/credential/presentation/common/utils.d.ts.map +1 -1
  282. package/lib/typescript/credential/presentation/v1.0.0/04-verify-certificate-chain.d.ts +3 -0
  283. package/lib/typescript/credential/presentation/v1.0.0/04-verify-certificate-chain.d.ts.map +1 -0
  284. package/lib/typescript/credential/presentation/v1.0.0/{04-verify-request-object.d.ts → 05-verify-request-object.d.ts} +1 -1
  285. package/lib/typescript/credential/presentation/v1.0.0/05-verify-request-object.d.ts.map +1 -0
  286. package/lib/typescript/credential/presentation/v1.0.0/{05-evaluate-dcql-query.d.ts → 06-evaluate-dcql-query.d.ts} +1 -1
  287. package/lib/typescript/credential/presentation/v1.0.0/06-evaluate-dcql-query.d.ts.map +1 -0
  288. package/lib/typescript/credential/presentation/v1.0.0/{06-send-authorization-response.d.ts → 07-send-authorization-response.d.ts} +1 -1
  289. package/lib/typescript/credential/presentation/v1.0.0/07-send-authorization-response.d.ts.map +1 -0
  290. package/lib/typescript/credential/presentation/v1.0.0/index.d.ts.map +1 -1
  291. package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts +56 -58
  292. package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts.map +1 -1
  293. package/lib/typescript/credential/presentation/v1.0.0/types.d.ts +13 -52
  294. package/lib/typescript/credential/presentation/v1.0.0/types.d.ts.map +1 -1
  295. package/lib/typescript/credential/presentation/v1.0.0/utils.d.ts.map +1 -1
  296. package/lib/typescript/credential/presentation/v1.0.0/utils.jwks.d.ts.map +1 -1
  297. package/lib/typescript/credential/presentation/v1.3.3/04-verify-certificate-chain.d.ts +3 -0
  298. package/lib/typescript/credential/presentation/v1.3.3/04-verify-certificate-chain.d.ts.map +1 -0
  299. package/lib/typescript/credential/presentation/v1.3.3/{04-verify-request-object.d.ts → 05-verify-request-object.d.ts} +1 -1
  300. package/lib/typescript/credential/presentation/v1.3.3/05-verify-request-object.d.ts.map +1 -0
  301. package/lib/typescript/credential/presentation/v1.3.3/{05-evaluate-dcql-query.d.ts → 06-evaluate-dcql-query.d.ts} +1 -1
  302. package/lib/typescript/credential/presentation/v1.3.3/06-evaluate-dcql-query.d.ts.map +1 -0
  303. package/lib/typescript/credential/presentation/v1.3.3/{06-send-authorization-response.d.ts → 07-send-authorization-response.d.ts} +1 -1
  304. package/lib/typescript/credential/presentation/v1.3.3/{06-send-authorization-response.d.ts.map → 07-send-authorization-response.d.ts.map} +1 -1
  305. package/lib/typescript/credential/presentation/v1.3.3/index.d.ts.map +1 -1
  306. package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts +133 -525
  307. package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts.map +1 -1
  308. package/lib/typescript/credential/presentation/v1.3.3/sdkErrorMapper.d.ts.map +1 -1
  309. package/lib/typescript/credential/presentation/v1.3.3/types.d.ts +39 -3672
  310. package/lib/typescript/credential/presentation/v1.3.3/types.d.ts.map +1 -1
  311. package/lib/typescript/credential/presentation/v1.3.3/utils.mdoc.d.ts.map +1 -1
  312. package/lib/typescript/credential/status/v1.0.0/mappers.d.ts +6 -6
  313. package/lib/typescript/credential/status/v1.0.0/types.d.ts +33 -659
  314. package/lib/typescript/credential/status/v1.0.0/types.d.ts.map +1 -1
  315. package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts +135 -525
  316. package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts.map +1 -1
  317. package/lib/typescript/credentials-catalogue/api/index.d.ts +22 -2
  318. package/lib/typescript/credentials-catalogue/api/index.d.ts.map +1 -1
  319. package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts +60 -20
  320. package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts.map +1 -1
  321. package/lib/typescript/credentials-catalogue/v1.0.0/types.d.ts +41 -737
  322. package/lib/typescript/credentials-catalogue/v1.0.0/types.d.ts.map +1 -1
  323. package/lib/typescript/credentials-catalogue/v1.3.3/fetch-translations.d.ts +3 -0
  324. package/lib/typescript/credentials-catalogue/v1.3.3/fetch-translations.d.ts.map +1 -0
  325. package/lib/typescript/credentials-catalogue/v1.3.3/index.d.ts.map +1 -1
  326. package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts +159 -62
  327. package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts.map +1 -1
  328. package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts +180 -941
  329. package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts.map +1 -1
  330. package/lib/typescript/credentials-catalogue/v1.3.3/utils.d.ts +12 -1
  331. package/lib/typescript/credentials-catalogue/v1.3.3/utils.d.ts.map +1 -1
  332. package/lib/typescript/index.d.ts +4 -3
  333. package/lib/typescript/index.d.ts.map +1 -1
  334. package/lib/typescript/mdoc/index.d.ts.map +1 -1
  335. package/lib/typescript/mdoc/utils.d.ts.map +1 -1
  336. package/lib/typescript/sd-jwt/index.d.ts +15 -15
  337. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  338. package/lib/typescript/sd-jwt/types.d.ts +33 -492
  339. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  340. package/lib/typescript/sd-jwt/utils.d.ts.map +1 -1
  341. package/lib/typescript/trust/api/TrustAnchorConfig.d.ts +12 -201
  342. package/lib/typescript/trust/api/TrustAnchorConfig.d.ts.map +1 -1
  343. package/lib/typescript/trust/common/build-chain.d.ts.map +1 -1
  344. package/lib/typescript/trust/common/types.d.ts +32 -1198
  345. package/lib/typescript/trust/common/types.d.ts.map +1 -1
  346. package/lib/typescript/trust/common/utils.d.ts.map +1 -1
  347. package/lib/typescript/trust/v1.0.0/build-chain.d.ts +1 -53
  348. package/lib/typescript/trust/v1.0.0/build-chain.d.ts.map +1 -1
  349. package/lib/typescript/trust/v1.0.0/entities.d.ts +324 -347
  350. package/lib/typescript/trust/v1.0.0/entities.d.ts.map +1 -1
  351. package/lib/typescript/trust/v1.0.0/mappers.d.ts +31 -35
  352. package/lib/typescript/trust/v1.0.0/mappers.d.ts.map +1 -1
  353. package/lib/typescript/trust/v1.0.0/types.d.ts +678 -12454
  354. package/lib/typescript/trust/v1.0.0/types.d.ts.map +1 -1
  355. package/lib/typescript/trust/v1.0.0/verify-chain.d.ts +4 -56
  356. package/lib/typescript/trust/v1.0.0/verify-chain.d.ts.map +1 -1
  357. package/lib/typescript/trust/v1.3.3/entities.d.ts +43 -47
  358. package/lib/typescript/trust/v1.3.3/entities.d.ts.map +1 -1
  359. package/lib/typescript/trust/v1.3.3/types.d.ts +655 -14339
  360. package/lib/typescript/trust/v1.3.3/types.d.ts.map +1 -1
  361. package/lib/typescript/utils/auth.d.ts +3 -25
  362. package/lib/typescript/utils/auth.d.ts.map +1 -1
  363. package/lib/typescript/utils/callbacks.d.ts.map +1 -1
  364. package/lib/typescript/utils/config.d.ts +3 -3
  365. package/lib/typescript/utils/config.d.ts.map +1 -1
  366. package/lib/typescript/utils/credentials.d.ts.map +1 -1
  367. package/lib/typescript/utils/crypto.d.ts +18 -0
  368. package/lib/typescript/utils/crypto.d.ts.map +1 -1
  369. package/lib/typescript/utils/decoder.d.ts.map +1 -1
  370. package/lib/typescript/utils/dpop.d.ts +5 -12
  371. package/lib/typescript/utils/dpop.d.ts.map +1 -1
  372. package/lib/typescript/utils/errors.d.ts.map +1 -1
  373. package/lib/typescript/utils/jwk.d.ts +15 -175
  374. package/lib/typescript/utils/jwk.d.ts.map +1 -1
  375. package/lib/typescript/utils/mappers.d.ts.map +1 -1
  376. package/lib/typescript/utils/misc.d.ts +2 -2
  377. package/lib/typescript/utils/misc.d.ts.map +1 -1
  378. package/lib/typescript/utils/object.d.ts.map +1 -1
  379. package/lib/typescript/utils/par.d.ts +7 -45
  380. package/lib/typescript/utils/par.d.ts.map +1 -1
  381. package/lib/typescript/utils/parser.d.ts.map +1 -1
  382. package/lib/typescript/utils/pop.d.ts +1 -9
  383. package/lib/typescript/utils/pop.d.ts.map +1 -1
  384. package/lib/typescript/utils/string.d.ts.map +1 -1
  385. package/lib/typescript/utils/zod.d.ts +4 -4
  386. package/lib/typescript/utils/zod.d.ts.map +1 -1
  387. package/lib/typescript/wallet-instance-attestation/api/index.d.ts +9 -9
  388. package/lib/typescript/wallet-instance-attestation/api/index.d.ts.map +1 -1
  389. package/lib/typescript/wallet-instance-attestation/api/types.d.ts +19 -174
  390. package/lib/typescript/wallet-instance-attestation/api/types.d.ts.map +1 -1
  391. package/lib/typescript/wallet-instance-attestation/common/types.d.ts +14 -273
  392. package/lib/typescript/wallet-instance-attestation/common/types.d.ts.map +1 -1
  393. package/lib/typescript/wallet-instance-attestation/v1.0.0/issuing.d.ts.map +1 -1
  394. package/lib/typescript/wallet-instance-attestation/v1.0.0/mappers.d.ts +5 -3
  395. package/lib/typescript/wallet-instance-attestation/v1.0.0/mappers.d.ts.map +1 -1
  396. package/lib/typescript/wallet-instance-attestation/v1.0.0/types.d.ts +39 -629
  397. package/lib/typescript/wallet-instance-attestation/v1.0.0/types.d.ts.map +1 -1
  398. package/lib/typescript/wallet-instance-attestation/v1.3.3/index.d.ts.map +1 -1
  399. package/lib/typescript/wallet-instance-attestation/v1.3.3/issuing.d.ts.map +1 -1
  400. package/lib/typescript/wallet-instance-attestation/v1.3.3/mappers.d.ts +90 -0
  401. package/lib/typescript/wallet-instance-attestation/v1.3.3/mappers.d.ts.map +1 -0
  402. package/lib/typescript/wallet-instance-attestation/v1.3.3/types.d.ts +29 -891
  403. package/lib/typescript/wallet-instance-attestation/v1.3.3/types.d.ts.map +1 -1
  404. package/lib/typescript/wallet-instance-attestation/v1.3.3/utils.d.ts +15 -0
  405. package/lib/typescript/wallet-instance-attestation/v1.3.3/utils.d.ts.map +1 -0
  406. package/lib/typescript/wallet-unit-attestation/api/index.d.ts +39 -0
  407. package/lib/typescript/wallet-unit-attestation/api/index.d.ts.map +1 -0
  408. package/lib/typescript/wallet-unit-attestation/api/types.d.ts +67 -0
  409. package/lib/typescript/wallet-unit-attestation/api/types.d.ts.map +1 -0
  410. package/lib/typescript/wallet-unit-attestation/index.d.ts +4 -0
  411. package/lib/typescript/wallet-unit-attestation/index.d.ts.map +1 -0
  412. package/lib/typescript/wallet-unit-attestation/v1.0.0/index.d.ts +3 -0
  413. package/lib/typescript/wallet-unit-attestation/v1.0.0/index.d.ts.map +1 -0
  414. package/lib/typescript/wallet-unit-attestation/v1.3.3/index.d.ts +3 -0
  415. package/lib/typescript/wallet-unit-attestation/v1.3.3/index.d.ts.map +1 -0
  416. package/lib/typescript/wallet-unit-attestation/v1.3.3/issuing.d.ts +3 -0
  417. package/lib/typescript/wallet-unit-attestation/v1.3.3/issuing.d.ts.map +1 -0
  418. package/lib/typescript/wallet-unit-attestation/v1.3.3/mappers.d.ts +107 -0
  419. package/lib/typescript/wallet-unit-attestation/v1.3.3/mappers.d.ts.map +1 -0
  420. package/lib/typescript/wallet-unit-attestation/v1.3.3/types.d.ts +69 -0
  421. package/lib/typescript/wallet-unit-attestation/v1.3.3/types.d.ts.map +1 -0
  422. package/lib/typescript/wallet-unit-attestation/v1.3.3/utils.d.ts +7 -0
  423. package/lib/typescript/wallet-unit-attestation/v1.3.3/utils.d.ts.map +1 -0
  424. package/package.json +8 -8
  425. package/src/api/index.ts +4 -0
  426. package/src/client/generated/wallet-provider.ts +44 -0
  427. package/src/client/index.ts +5 -1
  428. package/src/credential/issuance/README.md +2 -0
  429. package/src/credential/issuance/api/05-obtain-credential.ts +2 -0
  430. package/src/credential/issuance/api/IssuerConfig.ts +4 -2
  431. package/src/credential/issuance/v1.3.3/01-evaluate-issuer-trust.ts +8 -3
  432. package/src/credential/issuance/v1.3.3/03-complete-user-authorization.ts +2 -0
  433. package/src/credential/issuance/v1.3.3/05-obtain-credential.ts +25 -11
  434. package/src/credential/issuance/v1.3.3/mappers.ts +10 -9
  435. package/src/credential/presentation/api/04-verify-certificate-chain.ts +20 -0
  436. package/src/credential/presentation/api/{06-send-authorization-response.ts → 07-send-authorization-response.ts} +1 -1
  437. package/src/credential/presentation/api/RelyingPartyConfig.ts +1 -1
  438. package/src/credential/presentation/api/index.ts +5 -3
  439. package/src/credential/presentation/v1.0.0/04-verify-certificate-chain.ts +10 -0
  440. package/src/credential/presentation/v1.0.0/{04-verify-request-object.ts → 05-verify-request-object.ts} +2 -2
  441. package/src/credential/presentation/v1.0.0/{05-evaluate-dcql-query.ts → 06-evaluate-dcql-query.ts} +1 -1
  442. package/src/credential/presentation/v1.0.0/index.ts +5 -3
  443. package/src/credential/presentation/v1.3.3/04-verify-certificate-chain.ts +49 -0
  444. package/src/credential/presentation/v1.3.3/{04-verify-request-object.ts → 05-verify-request-object.ts} +4 -2
  445. package/src/credential/presentation/v1.3.3/{05-evaluate-dcql-query.ts → 06-evaluate-dcql-query.ts} +1 -1
  446. package/src/credential/presentation/v1.3.3/index.ts +5 -3
  447. package/src/credentials-catalogue/api/DigitalCredentialsCatalogue.ts +58 -10
  448. package/src/credentials-catalogue/api/index.ts +36 -2
  449. package/src/credentials-catalogue/v1.0.0/mappers.ts +27 -12
  450. package/src/credentials-catalogue/v1.3.3/fetch-translations.ts +32 -0
  451. package/src/credentials-catalogue/v1.3.3/index.ts +2 -0
  452. package/src/credentials-catalogue/v1.3.3/mappers.ts +12 -4
  453. package/src/credentials-catalogue/v1.3.3/types.ts +102 -29
  454. package/src/credentials-catalogue/v1.3.3/utils.ts +42 -4
  455. package/src/index.ts +11 -2
  456. package/src/trust/common/types.ts +3 -3
  457. package/src/trust/v1.0.0/types.ts +10 -10
  458. package/src/trust/v1.3.3/types.ts +4 -7
  459. package/src/utils/callbacks.ts +7 -1
  460. package/src/utils/crypto.ts +18 -0
  461. package/src/utils/dpop.ts +1 -1
  462. package/src/utils/jwk.ts +1 -1
  463. package/src/utils/mappers.ts +2 -2
  464. package/src/utils/zod.ts +5 -1
  465. package/src/wallet-instance-attestation/README.md +13 -10
  466. package/src/wallet-instance-attestation/api/index.ts +20 -13
  467. package/src/wallet-instance-attestation/api/types.ts +16 -4
  468. package/src/wallet-instance-attestation/v1.0.0/index.ts +3 -3
  469. package/src/wallet-instance-attestation/v1.0.0/issuing.ts +7 -9
  470. package/src/wallet-instance-attestation/v1.0.0/mappers.ts +7 -5
  471. package/src/wallet-instance-attestation/v1.3.3/index.ts +5 -7
  472. package/src/wallet-instance-attestation/v1.3.3/issuing.ts +107 -3
  473. package/src/wallet-instance-attestation/v1.3.3/mappers.ts +18 -0
  474. package/src/wallet-instance-attestation/v1.3.3/types.ts +16 -30
  475. package/src/wallet-instance-attestation/v1.3.3/utils.ts +35 -0
  476. package/src/wallet-unit-attestation/README.md +73 -0
  477. package/src/wallet-unit-attestation/api/index.ts +51 -0
  478. package/src/wallet-unit-attestation/api/types.ts +49 -0
  479. package/src/wallet-unit-attestation/index.ts +3 -0
  480. package/src/wallet-unit-attestation/v1.0.0/index.ts +5 -0
  481. package/src/wallet-unit-attestation/v1.3.3/index.ts +11 -0
  482. package/src/wallet-unit-attestation/v1.3.3/issuing.ts +147 -0
  483. package/src/wallet-unit-attestation/v1.3.3/mappers.ts +10 -0
  484. package/src/wallet-unit-attestation/v1.3.3/types.ts +21 -0
  485. package/src/wallet-unit-attestation/v1.3.3/utils.ts +14 -0
  486. package/lib/commonjs/credential/presentation/api/04-verify-request-object.js.map +0 -1
  487. package/lib/commonjs/credential/presentation/api/05-evaluate-dcql-query.js.map +0 -1
  488. package/lib/commonjs/credential/presentation/api/06-send-authorization-response.js.map +0 -1
  489. package/lib/commonjs/credential/presentation/v1.3.3/04-verify-request-object.js.map +0 -1
  490. package/lib/module/credential/presentation/api/04-verify-request-object.js +0 -2
  491. package/lib/module/credential/presentation/api/04-verify-request-object.js.map +0 -1
  492. package/lib/module/credential/presentation/api/05-evaluate-dcql-query.js +0 -2
  493. package/lib/module/credential/presentation/api/05-evaluate-dcql-query.js.map +0 -1
  494. package/lib/module/credential/presentation/api/06-send-authorization-response.js +0 -2
  495. package/lib/module/credential/presentation/api/06-send-authorization-response.js.map +0 -1
  496. package/lib/module/credential/presentation/v1.3.3/04-verify-request-object.js.map +0 -1
  497. package/lib/typescript/credential/presentation/v1.0.0/04-verify-request-object.d.ts.map +0 -1
  498. package/lib/typescript/credential/presentation/v1.0.0/05-evaluate-dcql-query.d.ts.map +0 -1
  499. package/lib/typescript/credential/presentation/v1.0.0/06-send-authorization-response.d.ts.map +0 -1
  500. package/lib/typescript/credential/presentation/v1.3.3/04-verify-request-object.d.ts.map +0 -1
  501. package/lib/typescript/credential/presentation/v1.3.3/05-evaluate-dcql-query.d.ts.map +0 -1
  502. /package/src/credential/presentation/api/{04-verify-request-object.ts → 05-verify-request-object.ts} +0 -0
  503. /package/src/credential/presentation/api/{05-evaluate-dcql-query.ts → 06-evaluate-dcql-query.ts} +0 -0
  504. /package/src/credential/presentation/v1.0.0/{06-send-authorization-response.ts → 07-send-authorization-response.ts} +0 -0
  505. /package/src/credential/presentation/v1.3.3/{06-send-authorization-response.ts → 07-send-authorization-response.ts} +0 -0
@@ -1,5 +1,75 @@
1
- import { UnimplementedFeatureError } from "../../utils/errors";
2
- export const getAttestation = () => {
3
- throw new UnimplementedFeatureError("getAttestation", "1.3.3");
1
+ import { Platform } from "react-native";
2
+ import { thumbprint, SignJWT } from "@pagopa/io-react-native-jwt";
3
+ import { LogLevel, Logger } from "../../utils/logging";
4
+ import { fixBase64EncodingOnKey, JWK } from "../../utils/jwk";
5
+ import { getWalletProviderClient } from "../../client";
6
+ import { WalletInstanceAttestationResponse } from "./types";
7
+ async function getAttestationRequest(_ref, wiaCryptoContext, integrityContext) {
8
+ let {
9
+ challenge,
10
+ walletSolutionId,
11
+ walletSolutionVersion
12
+ } = _ref;
13
+ const jwk = await wiaCryptoContext.getPublicKey();
14
+ const parsedJwk = JWK.parse(jwk);
15
+ const keyThumbprint = await thumbprint(parsedJwk);
16
+ const publicKey = {
17
+ ...parsedJwk,
18
+ kid: keyThumbprint
19
+ };
20
+ const clientData = {
21
+ challenge,
22
+ jwk_thumbprint: keyThumbprint
23
+ };
24
+ const hardwareKeyTag = integrityContext.getHardwareKeyTag();
25
+ const {
26
+ signature,
27
+ authenticatorData
28
+ } = await integrityContext.getHardwareSignatureWithAuthData(JSON.stringify(clientData));
29
+ return new SignJWT(wiaCryptoContext).setPayload({
30
+ iss: hardwareKeyTag,
31
+ nonce: challenge,
32
+ platform: Platform.OS,
33
+ hardware_signature: signature,
34
+ integrity_assertion: authenticatorData,
35
+ hardware_key_tag: hardwareKeyTag,
36
+ wallet_solution_id: walletSolutionId,
37
+ wallet_solution_version: walletSolutionVersion,
38
+ cnf: {
39
+ jwk: fixBase64EncodingOnKey(publicKey)
40
+ }
41
+ }).setProtectedHeader({
42
+ kid: publicKey.kid,
43
+ typ: "wia-request+jwt"
44
+ }).setIssuedAt().setExpirationTime("1h").sign();
45
+ }
46
+ export const getAttestation = async (requestParams, _ref2) => {
47
+ let {
48
+ wiaCryptoContext,
49
+ integrityContext,
50
+ appFetch = fetch
51
+ } = _ref2;
52
+ const api = getWalletProviderClient({
53
+ walletProviderBaseUrl: requestParams.walletProviderBaseUrl,
54
+ appFetch
55
+ });
56
+ const challenge = await api.get("/nonce").then(response => response.nonce);
57
+ Logger.log(LogLevel.DEBUG, `Challenge obtained from ${requestParams.walletProviderBaseUrl}: ${challenge} `);
58
+ const signedAttestationRequest = await getAttestationRequest({
59
+ challenge,
60
+ ...requestParams
61
+ }, wiaCryptoContext, integrityContext);
62
+ Logger.log(LogLevel.DEBUG, `Signed attestation request: ${signedAttestationRequest}`);
63
+ const response = await api.post("/wallet-instance-attestations", {
64
+ header: {
65
+ "Content-Type": "text/plain"
66
+ },
67
+ body: signedAttestationRequest
68
+ }).then(WalletInstanceAttestationResponse.parse);
69
+ Logger.log(LogLevel.DEBUG, `Obtained Wallet Instance Attestation in jwt format: ${response.wallet_instance_attestation}`);
70
+ return [{
71
+ format: "jwt",
72
+ attestation: response.wallet_instance_attestation
73
+ }];
4
74
  };
5
75
  //# sourceMappingURL=issuing.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["UnimplementedFeatureError","getAttestation"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.3.3/issuing.ts"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ,oBAAoB;AAG9D,OAAO,MAAMC,cAA8D,GACzEA,CAAA,KAAM;EACJ,MAAM,IAAID,yBAAyB,CAAC,gBAAgB,EAAE,OAAO,CAAC;AAChE,CAAC"}
1
+ {"version":3,"names":["Platform","thumbprint","SignJWT","LogLevel","Logger","fixBase64EncodingOnKey","JWK","getWalletProviderClient","WalletInstanceAttestationResponse","getAttestationRequest","_ref","wiaCryptoContext","integrityContext","challenge","walletSolutionId","walletSolutionVersion","jwk","getPublicKey","parsedJwk","parse","keyThumbprint","publicKey","kid","clientData","jwk_thumbprint","hardwareKeyTag","getHardwareKeyTag","signature","authenticatorData","getHardwareSignatureWithAuthData","JSON","stringify","setPayload","iss","nonce","platform","OS","hardware_signature","integrity_assertion","hardware_key_tag","wallet_solution_id","wallet_solution_version","cnf","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","getAttestation","requestParams","_ref2","appFetch","fetch","api","walletProviderBaseUrl","get","then","response","log","DEBUG","signedAttestationRequest","post","header","body","wallet_instance_attestation","format","attestation"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.3.3/issuing.ts"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { createMapper } from "../../utils/mappers";
2
+ import { DecodedWalletInstanceAttestation } from "../api/types";
3
+ export const mapToDecodedWalletInstanceAttestation = createMapper(_ref => {
4
+ let {
5
+ payload
6
+ } = _ref;
7
+ const {
8
+ eudi_wallet_info,
9
+ ...rest
10
+ } = payload;
11
+ return {
12
+ ...rest,
13
+ wallet_provider_name: eudi_wallet_info.general_info.wallet_provider_name,
14
+ wallet_solution_id: eudi_wallet_info.general_info.wallet_solution_id
15
+ };
16
+ }, {
17
+ outputSchema: DecodedWalletInstanceAttestation
18
+ });
19
+ //# sourceMappingURL=mappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createMapper","DecodedWalletInstanceAttestation","mapToDecodedWalletInstanceAttestation","_ref","payload","eudi_wallet_info","rest","wallet_provider_name","general_info","wallet_solution_id","outputSchema"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.3.3/mappers.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,qBAAqB;AAClD,SAASC,gCAAgC,QAAQ,cAAc;AAG/D,OAAO,MAAMC,qCAAqC,GAAGF,YAAY,CAI/DG,IAAA,IAAiB;EAAA,IAAhB;IAAEC;EAAQ,CAAC,GAAAD,IAAA;EACV,MAAM;IAAEE,gBAAgB;IAAE,GAAGC;EAAK,CAAC,GAAGF,OAAO;EAC7C,OAAO;IACL,GAAGE,IAAI;IACPC,oBAAoB,EAAEF,gBAAgB,CAACG,YAAY,CAACD,oBAAoB;IACxEE,kBAAkB,EAAEJ,gBAAgB,CAACG,YAAY,CAACC;EACpD,CAAC;AACH,CAAC,EACD;EAAEC,YAAY,EAAET;AAAiC,CACnD,CAAC"}
@@ -1,32 +1,21 @@
1
1
  import * as z from "zod";
2
- import { JWK } from "../../utils/jwk";
3
2
  import { Jwt } from "../common/types";
4
- const Status = z.object({
5
- status_list: z.object({
6
- idx: z.number(),
7
- uri: z.string()
8
- })
9
- });
10
- export const WalletAppAttestationJwt = z.object({
3
+ export const WalletInstanceAttestationJwt = z.object({
11
4
  header: z.intersection(Jwt.shape.header, z.object({
12
5
  typ: z.literal("oauth-client-attestation+jwt")
13
6
  })),
14
7
  payload: z.intersection(Jwt.shape.payload, z.object({
15
8
  sub: z.string(),
16
- wallet_link: z.string().optional(),
17
- wallet_name: z.string().optional(),
18
- status: Status.optional()
9
+ eudi_wallet_info: z.object({
10
+ general_info: z.object({
11
+ wallet_provider_name: z.string(),
12
+ wallet_solution_id: z.string(),
13
+ wallet_solution_version: z.string()
14
+ })
15
+ })
19
16
  }))
20
17
  });
21
- export const WalletUnitAttestationJwt = z.object({
22
- header: z.intersection(Jwt.shape.header, z.object({
23
- typ: z.literal("key-attestation+jwt")
24
- })),
25
- payload: z.intersection(Jwt.shape.payload, z.object({
26
- attested_keys: z.array(JWK),
27
- user_authentication: z.array(z.string()),
28
- key_storage: z.array(z.string()),
29
- status: Status
30
- }))
18
+ export const WalletInstanceAttestationResponse = z.object({
19
+ wallet_instance_attestation: z.string()
31
20
  });
32
21
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["z","JWK","Jwt","Status","object","status_list","idx","number","uri","string","WalletAppAttestationJwt","header","intersection","shape","typ","literal","payload","sub","wallet_link","optional","wallet_name","status","WalletUnitAttestationJwt","attested_keys","array","user_authentication","key_storage"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.3.3/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,GAAG,QAAQ,iBAAiB;AACrC,SAASC,GAAG,QAAQ,iBAAiB;AAErC,MAAMC,MAAM,GAAGH,CAAC,CAACI,MAAM,CAAC;EACtBC,WAAW,EAAEL,CAAC,CAACI,MAAM,CAAC;IACpBE,GAAG,EAAEN,CAAC,CAACO,MAAM,CAAC,CAAC;IACfC,GAAG,EAAER,CAAC,CAACS,MAAM,CAAC;EAChB,CAAC;AACH,CAAC,CAAC;AAGF,OAAO,MAAMC,uBAAuB,GAAGV,CAAC,CAACI,MAAM,CAAC;EAC9CO,MAAM,EAAEX,CAAC,CAACY,YAAY,CACpBV,GAAG,CAACW,KAAK,CAACF,MAAM,EAChBX,CAAC,CAACI,MAAM,CAAC;IACPU,GAAG,EAAEd,CAAC,CAACe,OAAO,CAAC,8BAA8B;EAC/C,CAAC,CACH,CAAC;EACDC,OAAO,EAAEhB,CAAC,CAACY,YAAY,CACrBV,GAAG,CAACW,KAAK,CAACG,OAAO,EACjBhB,CAAC,CAACI,MAAM,CAAC;IACPa,GAAG,EAAEjB,CAAC,CAACS,MAAM,CAAC,CAAC;IACfS,WAAW,EAAElB,CAAC,CAACS,MAAM,CAAC,CAAC,CAACU,QAAQ,CAAC,CAAC;IAClCC,WAAW,EAAEpB,CAAC,CAACS,MAAM,CAAC,CAAC,CAACU,QAAQ,CAAC,CAAC;IAClCE,MAAM,EAAElB,MAAM,CAACgB,QAAQ,CAAC;EAC1B,CAAC,CACH;AACF,CAAC,CAAC;AAGF,OAAO,MAAMG,wBAAwB,GAAGtB,CAAC,CAACI,MAAM,CAAC;EAC/CO,MAAM,EAAEX,CAAC,CAACY,YAAY,CACpBV,GAAG,CAACW,KAAK,CAACF,MAAM,EAChBX,CAAC,CAACI,MAAM,CAAC;IACPU,GAAG,EAAEd,CAAC,CAACe,OAAO,CAAC,qBAAqB;EACtC,CAAC,CACH,CAAC;EACDC,OAAO,EAAEhB,CAAC,CAACY,YAAY,CACrBV,GAAG,CAACW,KAAK,CAACG,OAAO,EACjBhB,CAAC,CAACI,MAAM,CAAC;IACPmB,aAAa,EAAEvB,CAAC,CAACwB,KAAK,CAACvB,GAAG,CAAC;IAC3BwB,mBAAmB,EAAEzB,CAAC,CAACwB,KAAK,CAACxB,CAAC,CAACS,MAAM,CAAC,CAAC,CAAC;IACxCiB,WAAW,EAAE1B,CAAC,CAACwB,KAAK,CAACxB,CAAC,CAACS,MAAM,CAAC,CAAC,CAAC;IAChCY,MAAM,EAAElB;EACV,CAAC,CACH;AACF,CAAC,CAAC"}
1
+ {"version":3,"names":["z","Jwt","WalletInstanceAttestationJwt","object","header","intersection","shape","typ","literal","payload","sub","string","eudi_wallet_info","general_info","wallet_provider_name","wallet_solution_id","wallet_solution_version","WalletInstanceAttestationResponse","wallet_instance_attestation"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.3.3/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,GAAG,QAAQ,iBAAiB;AAKrC,OAAO,MAAMC,4BAA4B,GAAGF,CAAC,CAACG,MAAM,CAAC;EACnDC,MAAM,EAAEJ,CAAC,CAACK,YAAY,CACpBJ,GAAG,CAACK,KAAK,CAACF,MAAM,EAChBJ,CAAC,CAACG,MAAM,CAAC;IACPI,GAAG,EAAEP,CAAC,CAACQ,OAAO,CAAC,8BAA8B;EAC/C,CAAC,CACH,CAAC;EACDC,OAAO,EAAET,CAAC,CAACK,YAAY,CACrBJ,GAAG,CAACK,KAAK,CAACG,OAAO,EACjBT,CAAC,CAACG,MAAM,CAAC;IACPO,GAAG,EAAEV,CAAC,CAACW,MAAM,CAAC,CAAC;IACfC,gBAAgB,EAAEZ,CAAC,CAACG,MAAM,CAAC;MACzBU,YAAY,EAAEb,CAAC,CAACG,MAAM,CAAC;QACrBW,oBAAoB,EAAEd,CAAC,CAACW,MAAM,CAAC,CAAC;QAChCI,kBAAkB,EAAEf,CAAC,CAACW,MAAM,CAAC,CAAC;QAC9BK,uBAAuB,EAAEhB,CAAC,CAACW,MAAM,CAAC;MACpC,CAAC;IACH,CAAC;EACH,CAAC,CACH;AACF,CAAC,CAAC;AAKF,OAAO,MAAMM,iCAAiC,GAAGjB,CAAC,CAACG,MAAM,CAAC;EACxDe,2BAA2B,EAAElB,CAAC,CAACW,MAAM,CAAC;AACxC,CAAC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { WalletInstanceAttestationJwt } from "./types";
2
+ import { decode as decodeJwt, verify as verifyJwt } from "@pagopa/io-react-native-jwt";
3
+
4
+ /**
5
+ * Decode a given JWT to get the parsed Wallet Instance Attestation object they define.
6
+ * It ensures provided data is in a valid shape.
7
+ *
8
+ * It DOES NOT verify token signature nor check disclosures are correctly referenced by the JWT.
9
+ * Use {@link verify} instead
10
+ */
11
+ export function decode(token) {
12
+ const decodedJwt = decodeJwt(token);
13
+ return WalletInstanceAttestationJwt.parse({
14
+ header: decodedJwt.protectedHeader,
15
+ payload: decodedJwt.payload
16
+ });
17
+ }
18
+
19
+ /**
20
+ * Verify a given JWT to get the parsed Wallet Instance Attestation object they define.
21
+ * Same as {@link decode} plus token signature verification
22
+ */
23
+ export async function verify(token) {
24
+ const decoded = decode(token);
25
+ const pubKey = decoded.payload.cnf.jwk;
26
+ await verifyJwt(token, pubKey);
27
+ return decoded;
28
+ }
29
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WalletInstanceAttestationJwt","decode","decodeJwt","verify","verifyJwt","token","decodedJwt","parse","header","protectedHeader","payload","decoded","pubKey","cnf","jwk"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.3.3/utils.ts"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,SAAS;AACtD,SACEC,MAAM,IAAIC,SAAS,EACnBC,MAAM,IAAIC,SAAS,QACd,6BAA6B;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASH,MAAMA,CAACI,KAAa,EAAgC;EAClE,MAAMC,UAAU,GAAGJ,SAAS,CAACG,KAAK,CAAC;EACnC,OAAOL,4BAA4B,CAACO,KAAK,CAAC;IACxCC,MAAM,EAAEF,UAAU,CAACG,eAAe;IAClCC,OAAO,EAAEJ,UAAU,CAACI;EACtB,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeP,MAAMA,CAC1BE,KAAa,EAC0B;EACvC,MAAMM,OAAO,GAAGV,MAAM,CAACI,KAAK,CAAC;EAC7B,MAAMO,MAAM,GAAGD,OAAO,CAACD,OAAO,CAACG,GAAG,CAACC,GAAG;EAEtC,MAAMV,SAAS,CAACC,KAAK,EAAEO,MAAM,CAAC;EAE9B,OAAOD,OAAO;AAChB"}
@@ -0,0 +1,73 @@
1
+ # Wallet Unit Attestation
2
+
3
+ This flow is used to obtain a [**Wallet Unit Attestation**](https://italia.github.io/eid-wallet-it-docs/releases/1.3.3/en/wallet-solution-requirements.html#wallet-unit-attestation-requirements). The WUA is bound to one or more cryptographic keys, that must be provided by the consumer application:
4
+ - `keyAttestationCryptoContext` one or more objects that extend the `CryptoContext` with a function to generate a WSCD-stored key with an optional key attestation (Android only); these are the keys that will be attested in the WUA.
5
+ - `integrityContext` object that is used to verify the integrity of the device where the app is running. The key tag must be the same used when creating the Wallet Instance.
6
+
7
+ #### Note
8
+ Before invoking `WalletUnitAttestation`'s functions, it is necessary to check whether the feature is supported by the current IoWallet instance.
9
+ ```ts
10
+ const wallet = new IoWallet({ version: "1.3.3" });
11
+
12
+ if (wallet.WalletUnitAttestation.isSupported) {
13
+ // Get the WUA
14
+ }
15
+ ```
16
+
17
+ ### Example usage
18
+
19
+ ```ts
20
+ import {
21
+ IoWallet,
22
+ createCryptoContextFor,
23
+ KeyAttestationCryptoContext
24
+ } from "@pagopa/io-react-native-wallet";
25
+
26
+ // Retrieve the integrity key tag from the store and create its context
27
+ const integrityKeyTag = "example"; // Let's assume this is the same key used when creating the Wallet Instance
28
+ const integrityContext = getIntegrityContext(integrityKeyTag);
29
+
30
+ // Get env URLs
31
+ const { WALLET_PROVIDER_BASE_URL } = env; // Let's assume env is an object containing the environment variables
32
+
33
+ // The list of crypto contexts for each key to attest.
34
+ const keysToAttest: KeyAttestationCryptoContext[] = [
35
+ {
36
+ ...createCryptoContextFor("example-keytag"),
37
+ generateKeyWithAttestation(challenge: string) {
38
+ // Generate a key stored in a trustworthy WSCD.
39
+ // On Android this function must return a key attestation.
40
+ return {
41
+ success: true,
42
+ attestation: "android-key-attestation-string",
43
+ };
44
+ }
45
+ }
46
+ ];
47
+
48
+ /**
49
+ * Obtain a new Wallet Unit Attestation.
50
+ * WARNING: The integrity context must be the same used when creating the Wallet Instance with the same keytag.
51
+ */
52
+ const wallet = new IoWallet({ version: "1.3.3" });
53
+ const issuedAttestation = await wallet.WalletUnitAttestation.getAttestation(
54
+ {
55
+ walletProviderBaseUrl: WALLET_PROVIDER_BASE_URL,
56
+ walletSolutionId: "exampleId",
57
+ walletSolutionVersion: "1.2.3",
58
+ },
59
+ {
60
+ keysToAttest,
61
+ integrityContext,
62
+ appFetch,
63
+ }
64
+ );
65
+ ```
66
+ ## Mapped results
67
+
68
+ The following errors are mapped to a `WalletProviderResponseError` with specific codes.
69
+
70
+ |HTTP Status|Error Code|Description|
71
+ |-----------|----------|-----------|
72
+ |`*`|`ERR_IO_WALLET_PROVIDER_GENERIC_ERROR`|This is a generic error code to map unexpected errors that occurred when interacting with the Wallet Provider.|
73
+
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["wallet-unit-attestation/api/index.ts"],"mappings":""}
@@ -0,0 +1,36 @@
1
+ import * as z from "zod";
2
+ import { UnixTime } from "../../utils/zod";
3
+ import { JWK } from "../../utils/jwk";
4
+ const Status = z.object({
5
+ status_list: z.object({
6
+ idx: z.number(),
7
+ uri: z.string()
8
+ })
9
+ });
10
+
11
+ /**
12
+ * Common Wallet Unit Attestation shape. This object is
13
+ * an abstraction over the version-specific JWTs.
14
+ */
15
+
16
+ export const DecodedWalletUnitAttestation = z.object({
17
+ attested_keys: z.array(JWK),
18
+ user_authentication: z.array(z.string()),
19
+ key_storage: z.array(z.string()),
20
+ status: Status,
21
+ eudi_wallet_info: z.object({
22
+ general_info: z.object({
23
+ wallet_provider_name: z.string(),
24
+ wallet_solution_id: z.string(),
25
+ wallet_solution_version: z.string()
26
+ }),
27
+ key_storage_info: z.object({
28
+ keys_exportable: z.boolean(),
29
+ storage_type: z.string()
30
+ })
31
+ }),
32
+ iss: z.string(),
33
+ iat: UnixTime,
34
+ exp: UnixTime
35
+ });
36
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["z","UnixTime","JWK","Status","object","status_list","idx","number","uri","string","DecodedWalletUnitAttestation","attested_keys","array","user_authentication","key_storage","status","eudi_wallet_info","general_info","wallet_provider_name","wallet_solution_id","wallet_solution_version","key_storage_info","keys_exportable","boolean","storage_type","iss","iat","exp"],"sourceRoot":"../../../../src","sources":["wallet-unit-attestation/api/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,iBAAiB;AAErC,MAAMC,MAAM,GAAGH,CAAC,CAACI,MAAM,CAAC;EACtBC,WAAW,EAAEL,CAAC,CAACI,MAAM,CAAC;IACpBE,GAAG,EAAEN,CAAC,CAACO,MAAM,CAAC,CAAC;IACfC,GAAG,EAAER,CAAC,CAACS,MAAM,CAAC;EAChB,CAAC;AACH,CAAC,CAAC;;AAEF;AACA;AACA;AACA;;AAIA,OAAO,MAAMC,4BAA4B,GAAGV,CAAC,CAACI,MAAM,CAAC;EACnDO,aAAa,EAAEX,CAAC,CAACY,KAAK,CAACV,GAAG,CAAC;EAC3BW,mBAAmB,EAAEb,CAAC,CAACY,KAAK,CAACZ,CAAC,CAACS,MAAM,CAAC,CAAC,CAAC;EACxCK,WAAW,EAAEd,CAAC,CAACY,KAAK,CAACZ,CAAC,CAACS,MAAM,CAAC,CAAC,CAAC;EAChCM,MAAM,EAAEZ,MAAM;EACda,gBAAgB,EAAEhB,CAAC,CAACI,MAAM,CAAC;IACzBa,YAAY,EAAEjB,CAAC,CAACI,MAAM,CAAC;MACrBc,oBAAoB,EAAElB,CAAC,CAACS,MAAM,CAAC,CAAC;MAChCU,kBAAkB,EAAEnB,CAAC,CAACS,MAAM,CAAC,CAAC;MAC9BW,uBAAuB,EAAEpB,CAAC,CAACS,MAAM,CAAC;IACpC,CAAC,CAAC;IACFY,gBAAgB,EAAErB,CAAC,CAACI,MAAM,CAAC;MACzBkB,eAAe,EAAEtB,CAAC,CAACuB,OAAO,CAAC,CAAC;MAC5BC,YAAY,EAAExB,CAAC,CAACS,MAAM,CAAC;IACzB,CAAC;EACH,CAAC,CAAC;EACFgB,GAAG,EAAEzB,CAAC,CAACS,MAAM,CAAC,CAAC;EACfiB,GAAG,EAAEzB,QAAQ;EACb0B,GAAG,EAAE1B;AACP,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { WalletUnitAttestation as V1_0_0 } from "./v1.0.0";
2
+ export { WalletUnitAttestation as V1_3_3 } from "./v1.3.3";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WalletUnitAttestation","V1_0_0","V1_3_3"],"sourceRoot":"../../../src","sources":["wallet-unit-attestation/index.ts"],"mappings":"AACA,SAASA,qBAAqB,IAAIC,MAAM,QAAQ,UAAU;AAC1D,SAASD,qBAAqB,IAAIE,MAAM,QAAQ,UAAU"}
@@ -0,0 +1,4 @@
1
+ export const WalletUnitAttestation = {
2
+ isSupported: false
3
+ };
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WalletUnitAttestation","isSupported"],"sourceRoot":"../../../../src","sources":["wallet-unit-attestation/v1.0.0/index.ts"],"mappings":"AAEA,OAAO,MAAMA,qBAA+C,GAAG;EAC7DC,WAAW,EAAE;AACf,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { withMapper } from "../../utils/mappers";
2
+ import { decode } from "./utils";
3
+ import { mapToDecodedWalletUnitAttestation } from "./mappers";
4
+ import { getAttestation } from "./issuing";
5
+ export const WalletUnitAttestation = {
6
+ isSupported: true,
7
+ getAttestation,
8
+ decode: withMapper(mapToDecodedWalletUnitAttestation, decode)
9
+ };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["withMapper","decode","mapToDecodedWalletUnitAttestation","getAttestation","WalletUnitAttestation","isSupported"],"sourceRoot":"../../../../src","sources":["wallet-unit-attestation/v1.3.3/index.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,qBAAqB;AAEhD,SAASC,MAAM,QAAQ,SAAS;AAChC,SAASC,iCAAiC,QAAQ,WAAW;AAC7D,SAASC,cAAc,QAAQ,WAAW;AAE1C,OAAO,MAAMC,qBAA+C,GAAG;EAC7DC,WAAW,EAAE,IAAI;EACjBF,cAAc;EACdF,MAAM,EAAED,UAAU,CAACE,iCAAiC,EAAED,MAAM;AAC9D,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { Platform } from "react-native";
2
+ import { SignJWT, thumbprint } from "@pagopa/io-react-native-jwt";
3
+ import { Logger, LogLevel } from "../../utils/logging";
4
+ import { getWalletProviderClient } from "../../client";
5
+ import { fixBase64EncodingOnKey, JWK } from "../../utils/jwk";
6
+ import { IoWalletError } from "../../utils/errors";
7
+ import { WalletUnitAttestationResponse } from "./types";
8
+
9
+ /**
10
+ * Create a Key Attestation Request in JWT format for the provided key.
11
+ * @param challenge The challenge for key attestation
12
+ * @param cryptoContext The crypto context of the key to attest
13
+ * @returns The key attestation request JWT, the public key and the original crypto context
14
+ */
15
+ const createKeyAttestationRequest = async (challenge, cryptoContext) => {
16
+ const {
17
+ success,
18
+ attestation
19
+ } = await cryptoContext.generateKeyWithAttestation(challenge);
20
+ if (!success) {
21
+ throw new IoWalletError("generateKeyWithAttestation failed to generate a cryptographic key for the Wallet Unit Attestation request");
22
+ }
23
+ if (Platform.OS === "android" && !attestation) {
24
+ throw new IoWalletError("Missing key attestation: on Android the generated key must have a key attestation to request a Wallet Unit Attestation");
25
+ }
26
+ const publicKey = JWK.parse(await cryptoContext.getPublicKey());
27
+ const requestJwt = await new SignJWT(cryptoContext).setPayload({
28
+ wscd_key_attestation: {
29
+ storage_type: "LOCAL_NATIVE",
30
+ ...(attestation && {
31
+ attestation
32
+ })
33
+ },
34
+ cnf: {
35
+ jwk: fixBase64EncodingOnKey(publicKey)
36
+ }
37
+ }).setProtectedHeader({
38
+ kid: publicKey.kid,
39
+ typ: "key-attestation-request+jwt"
40
+ }).setIssuedAt().setExpirationTime("1h").sign();
41
+ return {
42
+ cryptoContext,
43
+ publicKey,
44
+ keyAttestationRequestJwt: requestJwt
45
+ };
46
+ };
47
+ export const getAttestation = async (_ref, _ref2) => {
48
+ let {
49
+ walletProviderBaseUrl,
50
+ walletSolutionId,
51
+ walletSolutionVersion
52
+ } = _ref;
53
+ let {
54
+ keysToAttest: keysToAttestContexts,
55
+ integrityContext,
56
+ appFetch = fetch
57
+ } = _ref2;
58
+ if (keysToAttestContexts.length === 0) {
59
+ throw new IoWalletError("At least one key to attest must be provided");
60
+ }
61
+ const api = getWalletProviderClient({
62
+ walletProviderBaseUrl,
63
+ appFetch
64
+ });
65
+ const {
66
+ nonce
67
+ } = await api.get("/nonce");
68
+ Logger.log(LogLevel.DEBUG, `Challenge obtained from ${walletProviderBaseUrl}: ${nonce}`);
69
+ const keysToAttest = await Promise.all(keysToAttestContexts.map(cryptoContext => createKeyAttestationRequest(nonce, cryptoContext)));
70
+
71
+ // Use the first key to attest to sign the WUA Request JWT
72
+ const signatureKey = keysToAttest.at(0);
73
+ const hardwareKeyTag = integrityContext.getHardwareKeyTag();
74
+ const clientData = {
75
+ challenge: nonce,
76
+ jwk_thumbprints: await Promise.all(keysToAttest.map(k => thumbprint(k.publicKey)))
77
+ };
78
+ const {
79
+ signature,
80
+ authenticatorData
81
+ } = await integrityContext.getHardwareSignatureWithAuthData(JSON.stringify(clientData));
82
+ const signedAttestationRequest = await new SignJWT(signatureKey.cryptoContext).setPayload({
83
+ nonce,
84
+ hardware_key_tag: hardwareKeyTag,
85
+ iss: hardwareKeyTag,
86
+ keys_to_attest: keysToAttest.map(k => k.keyAttestationRequestJwt),
87
+ hardware_signature: signature,
88
+ integrity_assertion: authenticatorData,
89
+ platform: Platform.OS,
90
+ wallet_solution_id: walletSolutionId,
91
+ wallet_solution_version: walletSolutionVersion,
92
+ cnf: {
93
+ jwk: fixBase64EncodingOnKey(signatureKey.publicKey)
94
+ }
95
+ }).setProtectedHeader({
96
+ kid: signatureKey.publicKey.kid,
97
+ typ: "wua-request+jwt"
98
+ }).setIssuedAt().setExpirationTime("1h").sign();
99
+ Logger.log(LogLevel.DEBUG, `Signed attestation request: ${signedAttestationRequest}`);
100
+ const response = await api.post("/wallet-unit-attestations", {
101
+ header: {
102
+ "Content-Type": "text/plain"
103
+ },
104
+ body: signedAttestationRequest
105
+ }).then(WalletUnitAttestationResponse.parse);
106
+ Logger.log(LogLevel.DEBUG, `Obtained Wallet Unit Attestation: ${response.wallet_unit_attestation}`);
107
+ return {
108
+ format: "jwt",
109
+ attestation: response.wallet_unit_attestation
110
+ };
111
+ };
112
+ //# sourceMappingURL=issuing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","SignJWT","thumbprint","Logger","LogLevel","getWalletProviderClient","fixBase64EncodingOnKey","JWK","IoWalletError","WalletUnitAttestationResponse","createKeyAttestationRequest","challenge","cryptoContext","success","attestation","generateKeyWithAttestation","OS","publicKey","parse","getPublicKey","requestJwt","setPayload","wscd_key_attestation","storage_type","cnf","jwk","setProtectedHeader","kid","typ","setIssuedAt","setExpirationTime","sign","keyAttestationRequestJwt","getAttestation","_ref","_ref2","walletProviderBaseUrl","walletSolutionId","walletSolutionVersion","keysToAttest","keysToAttestContexts","integrityContext","appFetch","fetch","length","api","nonce","get","log","DEBUG","Promise","all","map","signatureKey","at","hardwareKeyTag","getHardwareKeyTag","clientData","jwk_thumbprints","k","signature","authenticatorData","getHardwareSignatureWithAuthData","JSON","stringify","signedAttestationRequest","hardware_key_tag","iss","keys_to_attest","hardware_signature","integrity_assertion","platform","wallet_solution_id","wallet_solution_version","response","post","header","body","then","wallet_unit_attestation","format"],"sourceRoot":"../../../../src","sources":["wallet-unit-attestation/v1.3.3/issuing.ts"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { createMapper } from "../../utils/mappers";
2
+ import { DecodedWalletUnitAttestation } from "../api/types";
3
+ export const mapToDecodedWalletUnitAttestation = createMapper(x => x.payload, {
4
+ outputSchema: DecodedWalletUnitAttestation
5
+ });
6
+ //# sourceMappingURL=mappers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createMapper","DecodedWalletUnitAttestation","mapToDecodedWalletUnitAttestation","x","payload","outputSchema"],"sourceRoot":"../../../../src","sources":["wallet-unit-attestation/v1.3.3/mappers.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,qBAAqB;AAClD,SAASC,4BAA4B,QAAQ,cAAc;AAG3D,OAAO,MAAMC,iCAAiC,GAAGF,YAAY,CAG1DG,CAAC,IAAKA,CAAC,CAACC,OAAO,EAAE;EAClBC,YAAY,EAAEJ;AAChB,CAAC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as z from "zod";
2
+ import { Jwt } from "../../wallet-instance-attestation/common/types";
3
+ import { DecodedWalletUnitAttestation } from "../api/types";
4
+ export const WalletUnitAttestationJwt = z.object({
5
+ header: z.intersection(Jwt.shape.header, z.object({
6
+ typ: z.literal("key-attestation+jwt")
7
+ })),
8
+ payload: DecodedWalletUnitAttestation // The payload type matches the public API
9
+ });
10
+
11
+ export const WalletUnitAttestationResponse = z.object({
12
+ wallet_unit_attestation: z.string()
13
+ });
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["z","Jwt","DecodedWalletUnitAttestation","WalletUnitAttestationJwt","object","header","intersection","shape","typ","literal","payload","WalletUnitAttestationResponse","wallet_unit_attestation","string"],"sourceRoot":"../../../../src","sources":["wallet-unit-attestation/v1.3.3/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,GAAG,QAAQ,gDAAgD;AACpE,SAASC,4BAA4B,QAAQ,cAAc;AAG3D,OAAO,MAAMC,wBAAwB,GAAGH,CAAC,CAACI,MAAM,CAAC;EAC/CC,MAAM,EAAEL,CAAC,CAACM,YAAY,CACpBL,GAAG,CAACM,KAAK,CAACF,MAAM,EAChBL,CAAC,CAACI,MAAM,CAAC;IACPI,GAAG,EAAER,CAAC,CAACS,OAAO,CAAC,qBAAqB;EACtC,CAAC,CACH,CAAC;EACDC,OAAO,EAAER,4BAA4B,CAAE;AACzC,CAAC,CAAC;;AAKF,OAAO,MAAMS,6BAA6B,GAAGX,CAAC,CAACI,MAAM,CAAC;EACpDQ,uBAAuB,EAAEZ,CAAC,CAACa,MAAM,CAAC;AACpC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { decode as decodeJwt } from "@pagopa/io-react-native-jwt";
2
+ import { WalletUnitAttestationJwt } from "./types";
3
+
4
+ /**
5
+ * Decode a given JWT to get the parsed Wallet Unit Attestation object they define.
6
+ * It ensures the provided data is in a valid shape, but it DOES NOT verify the signature.
7
+ */
8
+ export function decode(token) {
9
+ const decodedJwt = decodeJwt(token);
10
+ return WalletUnitAttestationJwt.parse({
11
+ header: decodedJwt.protectedHeader,
12
+ payload: decodedJwt.payload
13
+ });
14
+ }
15
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["decode","decodeJwt","WalletUnitAttestationJwt","token","decodedJwt","parse","header","protectedHeader","payload"],"sourceRoot":"../../../../src","sources":["wallet-unit-attestation/v1.3.3/utils.ts"],"mappings":"AAAA,SAASA,MAAM,IAAIC,SAAS,QAAQ,6BAA6B;AACjE,SAASC,wBAAwB,QAAQ,SAAS;;AAElD;AACA;AACA;AACA;AACA,OAAO,SAASF,MAAMA,CAACG,KAAa,EAA4B;EAC9D,MAAMC,UAAU,GAAGH,SAAS,CAACE,KAAK,CAAC;EACnC,OAAOD,wBAAwB,CAACG,KAAK,CAAC;IACpCC,MAAM,EAAEF,UAAU,CAACG,eAAe;IAClCC,OAAO,EAAEJ,UAAU,CAACI;EACtB,CAAC,CAAC;AACJ"}
@@ -1,5 +1,6 @@
1
1
  import * as WalletInstance from "../wallet-instance";
2
2
  import * as WIA from "../wallet-instance-attestation";
3
+ import * as WUA from "../wallet-unit-attestation";
3
4
  import * as Trust from "../trust";
4
5
  import * as CredentialIssuance from "../credential/issuance";
5
6
  import * as CredentialStatus from "../credential/status";
@@ -14,6 +15,7 @@ export type ItwVersion = "1.0.0" | "1.3.3";
14
15
  export interface IoWalletApi {
15
16
  WalletInstance: WalletInstance.WalletInstanceApi;
16
17
  WalletInstanceAttestation: WIA.WalletInstanceAttestationApi;
18
+ WalletUnitAttestation: WUA.WalletUnitAttestationApi;
17
19
  Trust: Trust.TrustApi;
18
20
  CredentialIssuance: CredentialIssuance.IssuanceApi;
19
21
  CredentialStatus: CredentialStatus.CredentialStatusApi;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,kBAAkB,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACjD,yBAAyB,EAAE,GAAG,CAAC,4BAA4B,CAAC;IAC5D,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtB,kBAAkB,EAAE,kBAAkB,CAAC,WAAW,CAAC;IACnD,gBAAgB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;IACvD,kBAAkB,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;IAC7D,oBAAoB,EAAE,oBAAoB,CAAC,uBAAuB,CAAC;IACnE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC;IAClC,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC;CAC7C;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CAwBhE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,4BAA4B,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,kBAAkB,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,kBAAkB,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,SAAS,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,gBAAgB,MAAM,qBAAqB,CAAC;AAExD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc,EAAE,cAAc,CAAC,iBAAiB,CAAC;IACjD,yBAAyB,EAAE,GAAG,CAAC,4BAA4B,CAAC;IAC5D,qBAAqB,EAAE,GAAG,CAAC,wBAAwB,CAAC;IACpD,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC;IACtB,kBAAkB,EAAE,kBAAkB,CAAC,WAAW,CAAC;IACnD,gBAAgB,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;IACvD,kBAAkB,EAAE,kBAAkB,CAAC,qBAAqB,CAAC;IAC7D,oBAAoB,EAAE,oBAAoB,CAAC,uBAAuB,CAAC;IACnE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC;IAClC,gBAAgB,EAAE,gBAAgB,CAAC,QAAQ,CAAC;CAC7C;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,UAAU,EAAE,WAAW,CA0BhE,CAAC"}