@pagopa/io-react-native-wallet 3.0.0 → 3.1.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 (409) 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/common/06-verify-and-parse-credential.sdjwt.js +2 -1
  11. package/lib/commonjs/credential/issuance/common/06-verify-and-parse-credential.sdjwt.js.map +1 -1
  12. package/lib/commonjs/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js +2 -0
  13. package/lib/commonjs/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js.map +1 -1
  14. package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js +2 -0
  15. package/lib/commonjs/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
  16. package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js +15 -8
  17. package/lib/commonjs/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
  18. package/lib/commonjs/credential/issuance/v1.3.3/mappers.js +0 -1
  19. package/lib/commonjs/credential/issuance/v1.3.3/mappers.js.map +1 -1
  20. package/lib/commonjs/credential/presentation/api/RelyingPartyConfig.js +2 -2
  21. package/lib/commonjs/credential/presentation/api/RelyingPartyConfig.js.map +1 -1
  22. package/lib/commonjs/credential/presentation/common/utils/sd-jwt.js +2 -1
  23. package/lib/commonjs/credential/presentation/common/utils/sd-jwt.js.map +1 -1
  24. package/lib/commonjs/credential/presentation/v1.0.0/04-verify-request-object.js.map +1 -1
  25. package/lib/commonjs/credential/presentation/v1.3.3/04-verify-request-object.js +4 -2
  26. package/lib/commonjs/credential/presentation/v1.3.3/04-verify-request-object.js.map +1 -1
  27. package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js +37 -11
  28. package/lib/commonjs/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
  29. package/lib/commonjs/credentials-catalogue/v1.0.0/mappers.js +16 -5
  30. package/lib/commonjs/credentials-catalogue/v1.0.0/mappers.js.map +1 -1
  31. package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js +4 -2
  32. package/lib/commonjs/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
  33. package/lib/commonjs/credentials-catalogue/v1.3.3/types.js +91 -30
  34. package/lib/commonjs/credentials-catalogue/v1.3.3/types.js.map +1 -1
  35. package/lib/commonjs/credentials-catalogue/v1.3.3/utils.js +4 -4
  36. package/lib/commonjs/credentials-catalogue/v1.3.3/utils.js.map +1 -1
  37. package/lib/commonjs/index.js +3 -1
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/sd-jwt/index.js +3 -2
  40. package/lib/commonjs/sd-jwt/index.js.map +1 -1
  41. package/lib/commonjs/sd-jwt/utils.js +2 -1
  42. package/lib/commonjs/sd-jwt/utils.js.map +1 -1
  43. package/lib/commonjs/trust/common/types.js +3 -3
  44. package/lib/commonjs/trust/common/types.js.map +1 -1
  45. package/lib/commonjs/trust/v1.0.0/types.js +6 -8
  46. package/lib/commonjs/trust/v1.0.0/types.js.map +1 -1
  47. package/lib/commonjs/trust/v1.3.3/types.js +1 -3
  48. package/lib/commonjs/trust/v1.3.3/types.js.map +1 -1
  49. package/lib/commonjs/utils/callbacks.js +2 -0
  50. package/lib/commonjs/utils/callbacks.js.map +1 -1
  51. package/lib/commonjs/utils/credentials.js +17 -2
  52. package/lib/commonjs/utils/credentials.js.map +1 -1
  53. package/lib/commonjs/utils/crypto.js +8 -0
  54. package/lib/commonjs/utils/crypto.js.map +1 -1
  55. package/lib/commonjs/utils/dpop.js +1 -1
  56. package/lib/commonjs/utils/dpop.js.map +1 -1
  57. package/lib/commonjs/utils/jwk.js +1 -1
  58. package/lib/commonjs/utils/jwk.js.map +1 -1
  59. package/lib/commonjs/utils/zod.js +1 -1
  60. package/lib/commonjs/utils/zod.js.map +1 -1
  61. package/lib/commonjs/wallet-instance-attestation/README.md +13 -10
  62. package/lib/commonjs/wallet-instance-attestation/api/types.js +9 -4
  63. package/lib/commonjs/wallet-instance-attestation/api/types.js.map +1 -1
  64. package/lib/commonjs/wallet-instance-attestation/v1.0.0/index.js +2 -2
  65. package/lib/commonjs/wallet-instance-attestation/v1.0.0/index.js.map +1 -1
  66. package/lib/commonjs/wallet-instance-attestation/v1.0.0/issuing.js +4 -5
  67. package/lib/commonjs/wallet-instance-attestation/v1.0.0/issuing.js.map +1 -1
  68. package/lib/commonjs/wallet-instance-attestation/v1.0.0/mappers.js +4 -5
  69. package/lib/commonjs/wallet-instance-attestation/v1.0.0/mappers.js.map +1 -1
  70. package/lib/commonjs/wallet-instance-attestation/v1.3.3/index.js +5 -7
  71. package/lib/commonjs/wallet-instance-attestation/v1.3.3/index.js.map +1 -1
  72. package/lib/commonjs/wallet-instance-attestation/v1.3.3/issuing.js +73 -3
  73. package/lib/commonjs/wallet-instance-attestation/v1.3.3/issuing.js.map +1 -1
  74. package/lib/commonjs/wallet-instance-attestation/v1.3.3/mappers.js +26 -0
  75. package/lib/commonjs/wallet-instance-attestation/v1.3.3/mappers.js.map +1 -0
  76. package/lib/commonjs/wallet-instance-attestation/v1.3.3/types.js +13 -24
  77. package/lib/commonjs/wallet-instance-attestation/v1.3.3/types.js.map +1 -1
  78. package/lib/commonjs/wallet-instance-attestation/v1.3.3/utils.js +35 -0
  79. package/lib/commonjs/wallet-instance-attestation/v1.3.3/utils.js.map +1 -0
  80. package/lib/commonjs/wallet-unit-attestation/README.md +73 -0
  81. package/lib/commonjs/wallet-unit-attestation/api/index.js +6 -0
  82. package/lib/commonjs/wallet-unit-attestation/api/index.js.map +1 -0
  83. package/lib/commonjs/wallet-unit-attestation/api/types.js +45 -0
  84. package/lib/commonjs/wallet-unit-attestation/api/types.js.map +1 -0
  85. package/lib/commonjs/wallet-unit-attestation/index.js +20 -0
  86. package/lib/commonjs/wallet-unit-attestation/index.js.map +1 -0
  87. package/lib/commonjs/wallet-unit-attestation/v1.0.0/index.js +11 -0
  88. package/lib/commonjs/wallet-unit-attestation/v1.0.0/index.js.map +1 -0
  89. package/lib/commonjs/wallet-unit-attestation/v1.3.3/index.js +17 -0
  90. package/lib/commonjs/wallet-unit-attestation/v1.3.3/index.js.map +1 -0
  91. package/lib/commonjs/wallet-unit-attestation/v1.3.3/issuing.js +118 -0
  92. package/lib/commonjs/wallet-unit-attestation/v1.3.3/issuing.js.map +1 -0
  93. package/lib/commonjs/wallet-unit-attestation/v1.3.3/mappers.js +13 -0
  94. package/lib/commonjs/wallet-unit-attestation/v1.3.3/mappers.js.map +1 -0
  95. package/lib/commonjs/wallet-unit-attestation/v1.3.3/types.js +23 -0
  96. package/lib/commonjs/wallet-unit-attestation/v1.3.3/types.js.map +1 -0
  97. package/lib/commonjs/wallet-unit-attestation/v1.3.3/utils.js +20 -0
  98. package/lib/commonjs/wallet-unit-attestation/v1.3.3/utils.js.map +1 -0
  99. package/lib/module/api/index.js +3 -0
  100. package/lib/module/api/index.js.map +1 -1
  101. package/lib/module/client/generated/wallet-provider.js +33 -1
  102. package/lib/module/client/generated/wallet-provider.js.map +1 -1
  103. package/lib/module/client/index.js +4 -2
  104. package/lib/module/client/index.js.map +1 -1
  105. package/lib/module/credential/issuance/README.md +2 -0
  106. package/lib/module/credential/issuance/api/IssuerConfig.js +2 -2
  107. package/lib/module/credential/issuance/api/IssuerConfig.js.map +1 -1
  108. package/lib/module/credential/issuance/common/06-verify-and-parse-credential.sdjwt.js +2 -1
  109. package/lib/module/credential/issuance/common/06-verify-and-parse-credential.sdjwt.js.map +1 -1
  110. package/lib/module/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js +2 -0
  111. package/lib/module/credential/issuance/v1.3.3/01-evaluate-issuer-trust.js.map +1 -1
  112. package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js +2 -0
  113. package/lib/module/credential/issuance/v1.3.3/03-complete-user-authorization.js.map +1 -1
  114. package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js +16 -9
  115. package/lib/module/credential/issuance/v1.3.3/05-obtain-credential.js.map +1 -1
  116. package/lib/module/credential/issuance/v1.3.3/mappers.js +0 -1
  117. package/lib/module/credential/issuance/v1.3.3/mappers.js.map +1 -1
  118. package/lib/module/credential/presentation/api/RelyingPartyConfig.js +1 -1
  119. package/lib/module/credential/presentation/api/RelyingPartyConfig.js.map +1 -1
  120. package/lib/module/credential/presentation/common/utils/sd-jwt.js +2 -1
  121. package/lib/module/credential/presentation/common/utils/sd-jwt.js.map +1 -1
  122. package/lib/module/credential/presentation/v1.0.0/04-verify-request-object.js.map +1 -1
  123. package/lib/module/credential/presentation/v1.3.3/04-verify-request-object.js +4 -2
  124. package/lib/module/credential/presentation/v1.3.3/04-verify-request-object.js.map +1 -1
  125. package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js +37 -11
  126. package/lib/module/credentials-catalogue/api/DigitalCredentialsCatalogue.js.map +1 -1
  127. package/lib/module/credentials-catalogue/v1.0.0/mappers.js +16 -5
  128. package/lib/module/credentials-catalogue/v1.0.0/mappers.js.map +1 -1
  129. package/lib/module/credentials-catalogue/v1.3.3/mappers.js +4 -2
  130. package/lib/module/credentials-catalogue/v1.3.3/mappers.js.map +1 -1
  131. package/lib/module/credentials-catalogue/v1.3.3/types.js +91 -30
  132. package/lib/module/credentials-catalogue/v1.3.3/types.js.map +1 -1
  133. package/lib/module/credentials-catalogue/v1.3.3/utils.js +4 -4
  134. package/lib/module/credentials-catalogue/v1.3.3/utils.js.map +1 -1
  135. package/lib/module/index.js +2 -1
  136. package/lib/module/index.js.map +1 -1
  137. package/lib/module/sd-jwt/index.js +3 -2
  138. package/lib/module/sd-jwt/index.js.map +1 -1
  139. package/lib/module/sd-jwt/utils.js +2 -1
  140. package/lib/module/sd-jwt/utils.js.map +1 -1
  141. package/lib/module/trust/common/types.js +3 -3
  142. package/lib/module/trust/common/types.js.map +1 -1
  143. package/lib/module/trust/v1.0.0/types.js +5 -7
  144. package/lib/module/trust/v1.0.0/types.js.map +1 -1
  145. package/lib/module/trust/v1.3.3/types.js +1 -3
  146. package/lib/module/trust/v1.3.3/types.js.map +1 -1
  147. package/lib/module/utils/callbacks.js +3 -0
  148. package/lib/module/utils/callbacks.js.map +1 -1
  149. package/lib/module/utils/credentials.js +15 -1
  150. package/lib/module/utils/credentials.js.map +1 -1
  151. package/lib/module/utils/crypto.js +8 -0
  152. package/lib/module/utils/crypto.js.map +1 -1
  153. package/lib/module/utils/dpop.js +1 -1
  154. package/lib/module/utils/dpop.js.map +1 -1
  155. package/lib/module/utils/jwk.js +1 -1
  156. package/lib/module/utils/jwk.js.map +1 -1
  157. package/lib/module/utils/zod.js +1 -1
  158. package/lib/module/utils/zod.js.map +1 -1
  159. package/lib/module/wallet-instance-attestation/README.md +13 -10
  160. package/lib/module/wallet-instance-attestation/api/types.js +7 -2
  161. package/lib/module/wallet-instance-attestation/api/types.js.map +1 -1
  162. package/lib/module/wallet-instance-attestation/v1.0.0/index.js +3 -3
  163. package/lib/module/wallet-instance-attestation/v1.0.0/index.js.map +1 -1
  164. package/lib/module/wallet-instance-attestation/v1.0.0/issuing.js +4 -5
  165. package/lib/module/wallet-instance-attestation/v1.0.0/issuing.js.map +1 -1
  166. package/lib/module/wallet-instance-attestation/v1.0.0/mappers.js +3 -4
  167. package/lib/module/wallet-instance-attestation/v1.0.0/mappers.js.map +1 -1
  168. package/lib/module/wallet-instance-attestation/v1.3.3/index.js +5 -7
  169. package/lib/module/wallet-instance-attestation/v1.3.3/index.js.map +1 -1
  170. package/lib/module/wallet-instance-attestation/v1.3.3/issuing.js +73 -3
  171. package/lib/module/wallet-instance-attestation/v1.3.3/issuing.js.map +1 -1
  172. package/lib/module/wallet-instance-attestation/v1.3.3/mappers.js +19 -0
  173. package/lib/module/wallet-instance-attestation/v1.3.3/mappers.js.map +1 -0
  174. package/lib/module/wallet-instance-attestation/v1.3.3/types.js +10 -21
  175. package/lib/module/wallet-instance-attestation/v1.3.3/types.js.map +1 -1
  176. package/lib/module/wallet-instance-attestation/v1.3.3/utils.js +29 -0
  177. package/lib/module/wallet-instance-attestation/v1.3.3/utils.js.map +1 -0
  178. package/lib/module/wallet-unit-attestation/README.md +73 -0
  179. package/lib/module/wallet-unit-attestation/api/index.js +2 -0
  180. package/lib/module/wallet-unit-attestation/api/index.js.map +1 -0
  181. package/lib/module/wallet-unit-attestation/api/types.js +36 -0
  182. package/lib/module/wallet-unit-attestation/api/types.js.map +1 -0
  183. package/lib/module/wallet-unit-attestation/index.js +3 -0
  184. package/lib/module/wallet-unit-attestation/index.js.map +1 -0
  185. package/lib/module/wallet-unit-attestation/v1.0.0/index.js +4 -0
  186. package/lib/module/wallet-unit-attestation/v1.0.0/index.js.map +1 -0
  187. package/lib/module/wallet-unit-attestation/v1.3.3/index.js +10 -0
  188. package/lib/module/wallet-unit-attestation/v1.3.3/index.js.map +1 -0
  189. package/lib/module/wallet-unit-attestation/v1.3.3/issuing.js +112 -0
  190. package/lib/module/wallet-unit-attestation/v1.3.3/issuing.js.map +1 -0
  191. package/lib/module/wallet-unit-attestation/v1.3.3/mappers.js +6 -0
  192. package/lib/module/wallet-unit-attestation/v1.3.3/mappers.js.map +1 -0
  193. package/lib/module/wallet-unit-attestation/v1.3.3/types.js +14 -0
  194. package/lib/module/wallet-unit-attestation/v1.3.3/types.js.map +1 -0
  195. package/lib/module/wallet-unit-attestation/v1.3.3/utils.js +15 -0
  196. package/lib/module/wallet-unit-attestation/v1.3.3/utils.js.map +1 -0
  197. package/lib/typescript/api/index.d.ts +2 -0
  198. package/lib/typescript/api/index.d.ts.map +1 -1
  199. package/lib/typescript/client/generated/wallet-provider.d.ts +122 -358
  200. package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
  201. package/lib/typescript/client/index.d.ts.map +1 -1
  202. package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts +2 -0
  203. package/lib/typescript/credential/issuance/api/05-obtain-credential.d.ts.map +1 -1
  204. package/lib/typescript/credential/issuance/api/IssuerConfig.d.ts +21 -357
  205. package/lib/typescript/credential/issuance/api/IssuerConfig.d.ts.map +1 -1
  206. package/lib/typescript/credential/issuance/api/types.d.ts +5 -41
  207. package/lib/typescript/credential/issuance/api/types.d.ts.map +1 -1
  208. package/lib/typescript/credential/issuance/common/02-start-user-authorization.d.ts.map +1 -1
  209. package/lib/typescript/credential/issuance/common/06-verify-and-parse-credential.sdjwt.d.ts.map +1 -1
  210. package/lib/typescript/credential/issuance/common/authorization.d.ts.map +1 -1
  211. package/lib/typescript/credential/issuance/v1.0.0/03-complete-user-authorization.d.ts.map +1 -1
  212. package/lib/typescript/credential/issuance/v1.0.0/05-obtain-credential.d.ts.map +1 -1
  213. package/lib/typescript/credential/issuance/v1.0.0/mappers.d.ts +103 -106
  214. package/lib/typescript/credential/issuance/v1.0.0/mappers.d.ts.map +1 -1
  215. package/lib/typescript/credential/issuance/v1.0.0/types.d.ts +4 -26
  216. package/lib/typescript/credential/issuance/v1.0.0/types.d.ts.map +1 -1
  217. package/lib/typescript/credential/issuance/v1.3.3/01-evaluate-issuer-trust.d.ts.map +1 -1
  218. package/lib/typescript/credential/issuance/v1.3.3/03-complete-user-authorization.d.ts.map +1 -1
  219. package/lib/typescript/credential/issuance/v1.3.3/05-obtain-credential.d.ts.map +1 -1
  220. package/lib/typescript/credential/issuance/v1.3.3/mappers.d.ts +594 -2095
  221. package/lib/typescript/credential/issuance/v1.3.3/mappers.d.ts.map +1 -1
  222. package/lib/typescript/credential/issuance/v1.3.3/types.d.ts +1 -5
  223. package/lib/typescript/credential/issuance/v1.3.3/types.d.ts.map +1 -1
  224. package/lib/typescript/credential/presentation/api/RelyingPartyConfig.d.ts +9 -154
  225. package/lib/typescript/credential/presentation/api/RelyingPartyConfig.d.ts.map +1 -1
  226. package/lib/typescript/credential/presentation/api/types.d.ts +30 -106
  227. package/lib/typescript/credential/presentation/api/types.d.ts.map +1 -1
  228. package/lib/typescript/credential/presentation/common/utils/dcql.d.ts +29 -244
  229. package/lib/typescript/credential/presentation/common/utils/dcql.d.ts.map +1 -1
  230. package/lib/typescript/credential/presentation/common/utils/http.d.ts.map +1 -1
  231. package/lib/typescript/credential/presentation/common/utils/sd-jwt.d.ts.map +1 -1
  232. package/lib/typescript/credential/presentation/common/utils.d.ts.map +1 -1
  233. package/lib/typescript/credential/presentation/v1.0.0/06-send-authorization-response.d.ts.map +1 -1
  234. package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts +56 -58
  235. package/lib/typescript/credential/presentation/v1.0.0/mappers.d.ts.map +1 -1
  236. package/lib/typescript/credential/presentation/v1.0.0/types.d.ts +13 -52
  237. package/lib/typescript/credential/presentation/v1.0.0/types.d.ts.map +1 -1
  238. package/lib/typescript/credential/presentation/v1.0.0/utils.d.ts.map +1 -1
  239. package/lib/typescript/credential/presentation/v1.0.0/utils.jwks.d.ts.map +1 -1
  240. package/lib/typescript/credential/presentation/v1.3.3/04-verify-request-object.d.ts.map +1 -1
  241. package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts +133 -525
  242. package/lib/typescript/credential/presentation/v1.3.3/mappers.d.ts.map +1 -1
  243. package/lib/typescript/credential/presentation/v1.3.3/sdkErrorMapper.d.ts.map +1 -1
  244. package/lib/typescript/credential/presentation/v1.3.3/types.d.ts +39 -3672
  245. package/lib/typescript/credential/presentation/v1.3.3/types.d.ts.map +1 -1
  246. package/lib/typescript/credential/presentation/v1.3.3/utils.mdoc.d.ts.map +1 -1
  247. package/lib/typescript/credential/status/v1.0.0/mappers.d.ts +6 -6
  248. package/lib/typescript/credential/status/v1.0.0/types.d.ts +33 -659
  249. package/lib/typescript/credential/status/v1.0.0/types.d.ts.map +1 -1
  250. package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts +111 -525
  251. package/lib/typescript/credentials-catalogue/api/DigitalCredentialsCatalogue.d.ts.map +1 -1
  252. package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts +48 -20
  253. package/lib/typescript/credentials-catalogue/v1.0.0/mappers.d.ts.map +1 -1
  254. package/lib/typescript/credentials-catalogue/v1.0.0/types.d.ts +41 -737
  255. package/lib/typescript/credentials-catalogue/v1.0.0/types.d.ts.map +1 -1
  256. package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts +147 -62
  257. package/lib/typescript/credentials-catalogue/v1.3.3/mappers.d.ts.map +1 -1
  258. package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts +180 -941
  259. package/lib/typescript/credentials-catalogue/v1.3.3/types.d.ts.map +1 -1
  260. package/lib/typescript/credentials-catalogue/v1.3.3/utils.d.ts +1 -1
  261. package/lib/typescript/credentials-catalogue/v1.3.3/utils.d.ts.map +1 -1
  262. package/lib/typescript/index.d.ts +4 -3
  263. package/lib/typescript/index.d.ts.map +1 -1
  264. package/lib/typescript/mdoc/index.d.ts.map +1 -1
  265. package/lib/typescript/mdoc/utils.d.ts.map +1 -1
  266. package/lib/typescript/sd-jwt/index.d.ts +16 -16
  267. package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
  268. package/lib/typescript/sd-jwt/types.d.ts +33 -492
  269. package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
  270. package/lib/typescript/sd-jwt/utils.d.ts.map +1 -1
  271. package/lib/typescript/trust/api/TrustAnchorConfig.d.ts +12 -201
  272. package/lib/typescript/trust/api/TrustAnchorConfig.d.ts.map +1 -1
  273. package/lib/typescript/trust/common/build-chain.d.ts.map +1 -1
  274. package/lib/typescript/trust/common/types.d.ts +32 -1198
  275. package/lib/typescript/trust/common/types.d.ts.map +1 -1
  276. package/lib/typescript/trust/common/utils.d.ts.map +1 -1
  277. package/lib/typescript/trust/v1.0.0/build-chain.d.ts +1 -53
  278. package/lib/typescript/trust/v1.0.0/build-chain.d.ts.map +1 -1
  279. package/lib/typescript/trust/v1.0.0/entities.d.ts +324 -347
  280. package/lib/typescript/trust/v1.0.0/entities.d.ts.map +1 -1
  281. package/lib/typescript/trust/v1.0.0/mappers.d.ts +31 -35
  282. package/lib/typescript/trust/v1.0.0/mappers.d.ts.map +1 -1
  283. package/lib/typescript/trust/v1.0.0/types.d.ts +678 -12454
  284. package/lib/typescript/trust/v1.0.0/types.d.ts.map +1 -1
  285. package/lib/typescript/trust/v1.0.0/verify-chain.d.ts +4 -56
  286. package/lib/typescript/trust/v1.0.0/verify-chain.d.ts.map +1 -1
  287. package/lib/typescript/trust/v1.3.3/entities.d.ts +43 -47
  288. package/lib/typescript/trust/v1.3.3/entities.d.ts.map +1 -1
  289. package/lib/typescript/trust/v1.3.3/types.d.ts +655 -14339
  290. package/lib/typescript/trust/v1.3.3/types.d.ts.map +1 -1
  291. package/lib/typescript/utils/auth.d.ts +3 -25
  292. package/lib/typescript/utils/auth.d.ts.map +1 -1
  293. package/lib/typescript/utils/callbacks.d.ts.map +1 -1
  294. package/lib/typescript/utils/config.d.ts +3 -3
  295. package/lib/typescript/utils/config.d.ts.map +1 -1
  296. package/lib/typescript/utils/credentials.d.ts +5 -0
  297. package/lib/typescript/utils/credentials.d.ts.map +1 -1
  298. package/lib/typescript/utils/crypto.d.ts +18 -0
  299. package/lib/typescript/utils/crypto.d.ts.map +1 -1
  300. package/lib/typescript/utils/decoder.d.ts.map +1 -1
  301. package/lib/typescript/utils/dpop.d.ts +5 -12
  302. package/lib/typescript/utils/dpop.d.ts.map +1 -1
  303. package/lib/typescript/utils/errors.d.ts.map +1 -1
  304. package/lib/typescript/utils/jwk.d.ts +15 -175
  305. package/lib/typescript/utils/jwk.d.ts.map +1 -1
  306. package/lib/typescript/utils/mappers.d.ts.map +1 -1
  307. package/lib/typescript/utils/misc.d.ts +2 -2
  308. package/lib/typescript/utils/misc.d.ts.map +1 -1
  309. package/lib/typescript/utils/object.d.ts.map +1 -1
  310. package/lib/typescript/utils/par.d.ts +7 -45
  311. package/lib/typescript/utils/par.d.ts.map +1 -1
  312. package/lib/typescript/utils/parser.d.ts.map +1 -1
  313. package/lib/typescript/utils/pop.d.ts +1 -9
  314. package/lib/typescript/utils/pop.d.ts.map +1 -1
  315. package/lib/typescript/utils/string.d.ts.map +1 -1
  316. package/lib/typescript/utils/zod.d.ts +4 -4
  317. package/lib/typescript/utils/zod.d.ts.map +1 -1
  318. package/lib/typescript/wallet-instance-attestation/api/index.d.ts +9 -9
  319. package/lib/typescript/wallet-instance-attestation/api/index.d.ts.map +1 -1
  320. package/lib/typescript/wallet-instance-attestation/api/types.d.ts +19 -174
  321. package/lib/typescript/wallet-instance-attestation/api/types.d.ts.map +1 -1
  322. package/lib/typescript/wallet-instance-attestation/common/types.d.ts +14 -273
  323. package/lib/typescript/wallet-instance-attestation/common/types.d.ts.map +1 -1
  324. package/lib/typescript/wallet-instance-attestation/v1.0.0/issuing.d.ts.map +1 -1
  325. package/lib/typescript/wallet-instance-attestation/v1.0.0/mappers.d.ts +5 -3
  326. package/lib/typescript/wallet-instance-attestation/v1.0.0/mappers.d.ts.map +1 -1
  327. package/lib/typescript/wallet-instance-attestation/v1.0.0/types.d.ts +39 -629
  328. package/lib/typescript/wallet-instance-attestation/v1.0.0/types.d.ts.map +1 -1
  329. package/lib/typescript/wallet-instance-attestation/v1.3.3/index.d.ts.map +1 -1
  330. package/lib/typescript/wallet-instance-attestation/v1.3.3/issuing.d.ts.map +1 -1
  331. package/lib/typescript/wallet-instance-attestation/v1.3.3/mappers.d.ts +90 -0
  332. package/lib/typescript/wallet-instance-attestation/v1.3.3/mappers.d.ts.map +1 -0
  333. package/lib/typescript/wallet-instance-attestation/v1.3.3/types.d.ts +29 -891
  334. package/lib/typescript/wallet-instance-attestation/v1.3.3/types.d.ts.map +1 -1
  335. package/lib/typescript/wallet-instance-attestation/v1.3.3/utils.d.ts +15 -0
  336. package/lib/typescript/wallet-instance-attestation/v1.3.3/utils.d.ts.map +1 -0
  337. package/lib/typescript/wallet-unit-attestation/api/index.d.ts +39 -0
  338. package/lib/typescript/wallet-unit-attestation/api/index.d.ts.map +1 -0
  339. package/lib/typescript/wallet-unit-attestation/api/types.d.ts +67 -0
  340. package/lib/typescript/wallet-unit-attestation/api/types.d.ts.map +1 -0
  341. package/lib/typescript/wallet-unit-attestation/index.d.ts +4 -0
  342. package/lib/typescript/wallet-unit-attestation/index.d.ts.map +1 -0
  343. package/lib/typescript/wallet-unit-attestation/v1.0.0/index.d.ts +3 -0
  344. package/lib/typescript/wallet-unit-attestation/v1.0.0/index.d.ts.map +1 -0
  345. package/lib/typescript/wallet-unit-attestation/v1.3.3/index.d.ts +3 -0
  346. package/lib/typescript/wallet-unit-attestation/v1.3.3/index.d.ts.map +1 -0
  347. package/lib/typescript/wallet-unit-attestation/v1.3.3/issuing.d.ts +3 -0
  348. package/lib/typescript/wallet-unit-attestation/v1.3.3/issuing.d.ts.map +1 -0
  349. package/lib/typescript/wallet-unit-attestation/v1.3.3/mappers.d.ts +107 -0
  350. package/lib/typescript/wallet-unit-attestation/v1.3.3/mappers.d.ts.map +1 -0
  351. package/lib/typescript/wallet-unit-attestation/v1.3.3/types.d.ts +69 -0
  352. package/lib/typescript/wallet-unit-attestation/v1.3.3/types.d.ts.map +1 -0
  353. package/lib/typescript/wallet-unit-attestation/v1.3.3/utils.d.ts +7 -0
  354. package/lib/typescript/wallet-unit-attestation/v1.3.3/utils.d.ts.map +1 -0
  355. package/package.json +8 -8
  356. package/src/api/index.ts +4 -0
  357. package/src/client/generated/wallet-provider.ts +44 -0
  358. package/src/client/index.ts +5 -1
  359. package/src/credential/issuance/README.md +2 -0
  360. package/src/credential/issuance/api/05-obtain-credential.ts +2 -0
  361. package/src/credential/issuance/api/IssuerConfig.ts +4 -2
  362. package/src/credential/issuance/common/06-verify-and-parse-credential.sdjwt.ts +2 -1
  363. package/src/credential/issuance/v1.3.3/01-evaluate-issuer-trust.ts +8 -3
  364. package/src/credential/issuance/v1.3.3/03-complete-user-authorization.ts +2 -0
  365. package/src/credential/issuance/v1.3.3/05-obtain-credential.ts +25 -11
  366. package/src/credential/issuance/v1.3.3/mappers.ts +10 -9
  367. package/src/credential/presentation/api/RelyingPartyConfig.ts +1 -1
  368. package/src/credential/presentation/common/utils/sd-jwt.ts +4 -1
  369. package/src/credential/presentation/v1.0.0/04-verify-request-object.ts +2 -2
  370. package/src/credential/presentation/v1.3.3/04-verify-request-object.ts +4 -2
  371. package/src/credentials-catalogue/api/DigitalCredentialsCatalogue.ts +42 -10
  372. package/src/credentials-catalogue/v1.0.0/mappers.ts +27 -12
  373. package/src/credentials-catalogue/v1.3.3/mappers.ts +10 -4
  374. package/src/credentials-catalogue/v1.3.3/types.ts +102 -29
  375. package/src/credentials-catalogue/v1.3.3/utils.ts +9 -4
  376. package/src/index.ts +11 -2
  377. package/src/sd-jwt/index.ts +8 -3
  378. package/src/sd-jwt/utils.ts +5 -1
  379. package/src/trust/common/types.ts +3 -3
  380. package/src/trust/v1.0.0/types.ts +10 -10
  381. package/src/trust/v1.3.3/types.ts +4 -7
  382. package/src/utils/callbacks.ts +7 -1
  383. package/src/utils/credentials.ts +17 -1
  384. package/src/utils/crypto.ts +18 -0
  385. package/src/utils/dpop.ts +1 -1
  386. package/src/utils/jwk.ts +1 -1
  387. package/src/utils/mappers.ts +2 -2
  388. package/src/utils/zod.ts +5 -1
  389. package/src/wallet-instance-attestation/README.md +13 -10
  390. package/src/wallet-instance-attestation/api/index.ts +20 -13
  391. package/src/wallet-instance-attestation/api/types.ts +16 -4
  392. package/src/wallet-instance-attestation/v1.0.0/index.ts +3 -3
  393. package/src/wallet-instance-attestation/v1.0.0/issuing.ts +7 -9
  394. package/src/wallet-instance-attestation/v1.0.0/mappers.ts +7 -5
  395. package/src/wallet-instance-attestation/v1.3.3/index.ts +5 -7
  396. package/src/wallet-instance-attestation/v1.3.3/issuing.ts +107 -3
  397. package/src/wallet-instance-attestation/v1.3.3/mappers.ts +18 -0
  398. package/src/wallet-instance-attestation/v1.3.3/types.ts +16 -30
  399. package/src/wallet-instance-attestation/v1.3.3/utils.ts +35 -0
  400. package/src/wallet-unit-attestation/README.md +73 -0
  401. package/src/wallet-unit-attestation/api/index.ts +51 -0
  402. package/src/wallet-unit-attestation/api/types.ts +49 -0
  403. package/src/wallet-unit-attestation/index.ts +3 -0
  404. package/src/wallet-unit-attestation/v1.0.0/index.ts +5 -0
  405. package/src/wallet-unit-attestation/v1.3.3/index.ts +11 -0
  406. package/src/wallet-unit-attestation/v1.3.3/issuing.ts +147 -0
  407. package/src/wallet-unit-attestation/v1.3.3/mappers.ts +10 -0
  408. package/src/wallet-unit-attestation/v1.3.3/types.ts +21 -0
  409. package/src/wallet-unit-attestation/v1.3.3/utils.ts +14 -0
@@ -1 +1 @@
1
- {"version":3,"names":["decodeSdJwtSync","digest","thumbprint","IoWalletError","LEGACY_SD_JWT","SD_JWT","extractJwkFromCredential","credential","format","includes","decoded","cnf","jwt","payload","jwk","kid"],"sourceRoot":"../../../src","sources":["utils/credentials.ts"],"mappings":"AAAA,SAASA,eAAe,QAAQ,gBAAgB;AAChD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,UAAU,QAAQ,6BAA6B;AAGxD,SAASC,aAAa,QAAQ,UAAU;AACxC,SACEC,aAAa,QAGR,iBAAiB;AAExB,MAAMC,MAAM,GAAG,CAAC,WAAW,EAAED,aAAa,CAAC;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,wBAAwB,GAAG,MAAAA,CACtCC,UAAkB,EAClBC,MAAqD,KACpC;EACjB,IAAIH,MAAM,CAACI,QAAQ,CAACD,MAAM,CAAC,EAAE;IAC3B;IACA,MAAME,OAAO,GAAGV,eAAe,CAACO,UAAU,EAAEN,MAAM,CAAC;IACnD,MAAM;MAAEU;IAAI,CAAC,GAAGD,OAAO,CAACE,GAAG,CAACC,OAAkC;IAC9D,IAAIF,GAAG,CAACG,GAAG,EAAE;MACX,OAAO;QAAE,GAAGH,GAAG,CAACG,GAAG;QAAEC,GAAG,EAAE,MAAMb,UAAU,CAACS,GAAG,CAACG,GAAG;MAAE,CAAC;IACvD;EACF;EACA,MAAM,IAAIX,aAAa,CAAE,qBAAoBK,MAAO,gBAAe,CAAC;AACtE,CAAC"}
1
+ {"version":3,"names":["decodeSdJwtSync","digest","thumbprint","IoWalletError","LEGACY_SD_JWT","SD_JWT","extractJwkFromCredential","credential","format","includes","decoded","fixLegacyCredentialSdJwt","cnf","jwt","payload","jwk","kid","token","endsWith","_token$split$at","hasKeyBindingJwt","split","at","length"],"sourceRoot":"../../../src","sources":["utils/credentials.ts"],"mappings":"AAAA,SAASA,eAAe,QAAQ,gBAAgB;AAChD,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,UAAU,QAAQ,6BAA6B;AAGxD,SAASC,aAAa,QAAQ,UAAU;AACxC,SACEC,aAAa,QAGR,iBAAiB;AAExB,MAAMC,MAAM,GAAG,CAAC,WAAW,EAAED,aAAa,CAAC;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,wBAAwB,GAAG,MAAAA,CACtCC,UAAkB,EAClBC,MAAqD,KACpC;EACjB,IAAIH,MAAM,CAACI,QAAQ,CAACD,MAAM,CAAC,EAAE;IAC3B;IACA,MAAME,OAAO,GAAGV,eAAe,CAC7BW,wBAAwB,CAACJ,UAAU,CAAC,EACpCN,MACF,CAAC;IACD,MAAM;MAAEW;IAAI,CAAC,GAAGF,OAAO,CAACG,GAAG,CAACC,OAAkC;IAC9D,IAAIF,GAAG,CAACG,GAAG,EAAE;MACX,OAAO;QAAE,GAAGH,GAAG,CAACG,GAAG;QAAEC,GAAG,EAAE,MAAMd,UAAU,CAACU,GAAG,CAACG,GAAG;MAAE,CAAC;IACvD;EACF;EACA,MAAM,IAAIZ,aAAa,CAAE,qBAAoBK,MAAO,gBAAe,CAAC;AACtE,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMG,wBAAwB,GAAIM,KAAa,IAAK;EACzD,IAAI,CAACA,KAAK,CAACC,QAAQ,CAAC,GAAG,CAAC,EAAE;IAAA,IAAAC,eAAA;IACxB,MAAMC,gBAAgB,GAAG,EAAAD,eAAA,GAAAF,KAAK,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,EAAE,CAAC,CAAC,CAAC,CAAC,cAAAH,eAAA,uBAAvBA,eAAA,CAAyBE,KAAK,CAAC,GAAG,CAAC,CAACE,MAAM,MAAK,CAAC;IACzE;IACA,OAAOH,gBAAgB,GAAGH,KAAK,GAAI,GAAEA,KAAM,GAAE;EAC/C;EACA,OAAOA,KAAK;AACd,CAAC"}
@@ -78,4 +78,12 @@ export const getSigninJwkFromCert = pemCert => {
78
78
  }
79
79
  throw new IoWalletError("Unable to find the signing key inside the PEM certificate");
80
80
  };
81
+
82
+ /**
83
+ * Extension of the {@link CryptoContext} that adds key generation with optional key attestation.
84
+ *
85
+ * This context requires the consumer to provide an additional method for **key generation**;
86
+ * on Android this method should also generate a key attestation as a certificate chain
87
+ * to ensure the key pair is hardware-backed.
88
+ */
81
89
  //# sourceMappingURL=crypto.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["deleteKey","generate","getPublicKeyFixed","sign","v4","uuidv4","thumbprint","JWK","KEYUTIL","KJUR","RSAKey","X509","IoWalletError","createCryptoContextFor","keytag","getPublicKey","then","jwk","kid","getSignature","value","withEphemeralKey","fn","ephemeralContext","finally","convertBase64DerToPem","certificate","getSigninJwkFromCert","pemCert","x509","readCertPEM","publicKey","crypto","ECDSA","parse","getJWKFromKey","use"],"sourceRoot":"../../../src","sources":["utils/crypto.ts"],"mappings":"AAAA,SACEA,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjBC,IAAI,QACC,gCAAgC;AACvC,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAASC,UAAU,QAA4B,6BAA6B;AAC5E,SAASC,GAAG,QAAQ,OAAO;AAC3B,SAASC,OAAO,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,QAAQ,WAAW;AACvD,SAASC,aAAa,QAAQ,UAAU;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAIC,MAAc,IAAoB;EACvE,OAAO;IACL,MAAMC,YAAYA,CAAA,EAAG;MACnB,OAAOb,iBAAiB,CAACY,MAAM,CAAC,CAACE,IAAI,CAAC,MAAOC,GAAG,KAAM;QACpD,GAAGA,GAAG;QACN;QACA;QACA;QACA;QACAC,GAAG,EAAE,MAAMZ,UAAU,CAACW,GAAG;MAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IACD;AACJ;AACA;AACA;AACA;AACA;IACI,MAAME,YAAYA,CAACC,KAAa,EAAE;MAChC,OAAOjB,IAAI,CAACiB,KAAK,EAAEN,MAAM,CAAC;IAC5B;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,gBAAgB,GAAG,MAC9BC,EAAmD,IACpC;EACf;EACA,MAAMR,MAAM,GAAI,aAAYT,MAAM,CAAC,CAAE,EAAC;EACtC,MAAMJ,QAAQ,CAACa,MAAM,CAAC;EACtB,MAAMS,gBAAgB,GAAGV,sBAAsB,CAACC,MAAM,CAAC;EACvD,OAAOQ,EAAE,CAACC,gBAAgB,CAAC,CAACC,OAAO,CAAC,MAAMxB,SAAS,CAACc,MAAM,CAAC,CAAC;AAC9D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,qBAAqB,GAAIC,WAAmB,IACtD,gCAA+BA,WAAY,6BAA4B;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAIC,OAAe,IAAU;EAC5D,MAAMC,IAAI,GAAG,IAAIlB,IAAI,CAAC,CAAC;EACvBkB,IAAI,CAACC,WAAW,CAACF,OAAO,CAAC;EACzB,MAAMG,SAAS,GAAGF,IAAI,CAACd,YAAY,CAAC,CAAC;EAErC,IAAIgB,SAAS,YAAYrB,MAAM,IAAIqB,SAAS,YAAYtB,IAAI,CAACuB,MAAM,CAACC,KAAK,EAAE;IACzE,OAAO;MACL,GAAG1B,GAAG,CAAC2B,KAAK,CAAC1B,OAAO,CAAC2B,aAAa,CAACJ,SAAS,CAAC,CAAC;MAC9CK,GAAG,EAAE;IACP,CAAC;EACH;EAEA,MAAM,IAAIxB,aAAa,CACrB,2DACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"names":["deleteKey","generate","getPublicKeyFixed","sign","v4","uuidv4","thumbprint","JWK","KEYUTIL","KJUR","RSAKey","X509","IoWalletError","createCryptoContextFor","keytag","getPublicKey","then","jwk","kid","getSignature","value","withEphemeralKey","fn","ephemeralContext","finally","convertBase64DerToPem","certificate","getSigninJwkFromCert","pemCert","x509","readCertPEM","publicKey","crypto","ECDSA","parse","getJWKFromKey","use"],"sourceRoot":"../../../src","sources":["utils/crypto.ts"],"mappings":"AAAA,SACEA,SAAS,EACTC,QAAQ,EACRC,iBAAiB,EACjBC,IAAI,QACC,gCAAgC;AACvC,SAASC,EAAE,IAAIC,MAAM,QAAQ,MAAM;AACnC,SAASC,UAAU,QAA4B,6BAA6B;AAC5E,SAASC,GAAG,QAAQ,OAAO;AAC3B,SAASC,OAAO,EAAEC,IAAI,EAAEC,MAAM,EAAEC,IAAI,QAAQ,WAAW;AACvD,SAASC,aAAa,QAAQ,UAAU;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAIC,MAAc,IAAoB;EACvE,OAAO;IACL,MAAMC,YAAYA,CAAA,EAAG;MACnB,OAAOb,iBAAiB,CAACY,MAAM,CAAC,CAACE,IAAI,CAAC,MAAOC,GAAG,KAAM;QACpD,GAAGA,GAAG;QACN;QACA;QACA;QACA;QACAC,GAAG,EAAE,MAAMZ,UAAU,CAACW,GAAG;MAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IACD;AACJ;AACA;AACA;AACA;AACA;IACI,MAAME,YAAYA,CAACC,KAAa,EAAE;MAChC,OAAOjB,IAAI,CAACiB,KAAK,EAAEN,MAAM,CAAC;IAC5B;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMO,gBAAgB,GAAG,MAC9BC,EAAmD,IACpC;EACf;EACA,MAAMR,MAAM,GAAI,aAAYT,MAAM,CAAC,CAAE,EAAC;EACtC,MAAMJ,QAAQ,CAACa,MAAM,CAAC;EACtB,MAAMS,gBAAgB,GAAGV,sBAAsB,CAACC,MAAM,CAAC;EACvD,OAAOQ,EAAE,CAACC,gBAAgB,CAAC,CAACC,OAAO,CAAC,MAAMxB,SAAS,CAACc,MAAM,CAAC,CAAC;AAC9D,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMW,qBAAqB,GAAIC,WAAmB,IACtD,gCAA+BA,WAAY,6BAA4B;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAIC,OAAe,IAAU;EAC5D,MAAMC,IAAI,GAAG,IAAIlB,IAAI,CAAC,CAAC;EACvBkB,IAAI,CAACC,WAAW,CAACF,OAAO,CAAC;EACzB,MAAMG,SAAS,GAAGF,IAAI,CAACd,YAAY,CAAC,CAAC;EAErC,IAAIgB,SAAS,YAAYrB,MAAM,IAAIqB,SAAS,YAAYtB,IAAI,CAACuB,MAAM,CAACC,KAAK,EAAE;IACzE,OAAO;MACL,GAAG1B,GAAG,CAAC2B,KAAK,CAAC1B,OAAO,CAAC2B,aAAa,CAACJ,SAAS,CAAC,CAAC;MAC9CK,GAAG,EAAE;IACP,CAAC;EACH;EAEA,MAAM,IAAIxB,aAAa,CACrB,2DACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA"}
@@ -18,7 +18,7 @@ export const createDPopToken = async (payload, crypto) => {
18
18
  };
19
19
  export const DPoPPayload = z.object({
20
20
  jti: z.string(),
21
- htm: z.union([z.literal("POST"), z.literal("GET")]),
21
+ htm: z.enum(["POST", "GET"]),
22
22
  htu: z.string(),
23
23
  ath: z.string().optional()
24
24
  });
@@ -1 +1 @@
1
- {"version":3,"names":["z","SignJWT","createDPopToken","payload","crypto","jwk","getPublicKey","setPayload","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","DPoPPayload","object","jti","string","htm","union","literal","htu","ath","optional"],"sourceRoot":"../../../src","sources":["utils/dpop.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AAExB,SAASC,OAAO,QAA4B,6BAA6B;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG,MAAAA,CAC7BC,OAAoB,EACpBC,MAAqB,KACD;EACpB,MAAMC,GAAG,GAAG,MAAMD,MAAM,CAACE,YAAY,CAAC,CAAC;EACvC,OAAO,IAAIL,OAAO,CAACG,MAAM,CAAC,CACvBG,UAAU,CAACJ,OAAO,CAAC,CACnBK,kBAAkB,CAAC;IAClBC,GAAG,EAAE,UAAU;IACfJ;EACF,CAAC,CAAC,CACDK,WAAW,CAAC,CAAC,CACbC,iBAAiB,CAAC,IAAI,CAAC,CACvBC,IAAI,CAAC,CAAC;AACX,CAAC;AAGD,OAAO,MAAMC,WAAW,GAAGb,CAAC,CAACc,MAAM,CAAC;EAClCC,GAAG,EAAEf,CAAC,CAACgB,MAAM,CAAC,CAAC;EACfC,GAAG,EAAEjB,CAAC,CAACkB,KAAK,CAAC,CAAClB,CAAC,CAACmB,OAAO,CAAC,MAAM,CAAC,EAAEnB,CAAC,CAACmB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;EACnDC,GAAG,EAAEpB,CAAC,CAACgB,MAAM,CAAC,CAAC;EACfK,GAAG,EAAErB,CAAC,CAACgB,MAAM,CAAC,CAAC,CAACM,QAAQ,CAAC;AAC3B,CAAC,CAAC"}
1
+ {"version":3,"names":["z","SignJWT","createDPopToken","payload","crypto","jwk","getPublicKey","setPayload","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","DPoPPayload","object","jti","string","htm","enum","htu","ath","optional"],"sourceRoot":"../../../src","sources":["utils/dpop.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AAExB,SAASC,OAAO,QAA4B,6BAA6B;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG,MAAAA,CAC7BC,OAAoB,EACpBC,MAAqB,KACD;EACpB,MAAMC,GAAG,GAAG,MAAMD,MAAM,CAACE,YAAY,CAAC,CAAC;EACvC,OAAO,IAAIL,OAAO,CAACG,MAAM,CAAC,CACvBG,UAAU,CAACJ,OAAO,CAAC,CACnBK,kBAAkB,CAAC;IAClBC,GAAG,EAAE,UAAU;IACfJ;EACF,CAAC,CAAC,CACDK,WAAW,CAAC,CAAC,CACbC,iBAAiB,CAAC,IAAI,CAAC,CACvBC,IAAI,CAAC,CAAC;AACX,CAAC;AAGD,OAAO,MAAMC,WAAW,GAAGb,CAAC,CAACc,MAAM,CAAC;EAClCC,GAAG,EAAEf,CAAC,CAACgB,MAAM,CAAC,CAAC;EACfC,GAAG,EAAEjB,CAAC,CAACkB,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;EAC5BC,GAAG,EAAEnB,CAAC,CAACgB,MAAM,CAAC,CAAC;EACfI,GAAG,EAAEpB,CAAC,CAACgB,MAAM,CAAC,CAAC,CAACK,QAAQ,CAAC;AAC3B,CAAC,CAAC"}
@@ -18,7 +18,7 @@ export const JWK = z.object({
18
18
  /** JWK "kty" (Key Type) Parameter.
19
19
  * This attribute is required to discriminate the
20
20
  * type of EC/RSA algorithm */
21
- kty: z.union([z.literal("RSA"), z.literal("EC")]),
21
+ kty: z.enum(["RSA", "EC"]),
22
22
  n: z.string().optional(),
23
23
  p: z.string().optional(),
24
24
  q: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"names":["removePadding","thumbprint","z","JWK","object","alg","string","optional","crv","d","dp","dq","e","ext","boolean","k","key_ops","array","kid","kty","union","literal","n","p","q","qi","use","x","y","x5c","x5t","x5u","fixBase64EncodingOnKey","key","pk","JWKS","keys","isSameThumbprint","jwkA","jwkB","thumbprintJwkA","thumbprintJwkB","Promise","all"],"sourceRoot":"../../../src","sources":["utils/jwk.ts"],"mappings":"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"}
1
+ {"version":3,"names":["removePadding","thumbprint","z","JWK","object","alg","string","optional","crv","d","dp","dq","e","ext","boolean","k","key_ops","array","kid","kty","enum","n","p","q","qi","use","x","y","x5c","x5t","x5u","fixBase64EncodingOnKey","key","pk","JWKS","keys","isSameThumbprint","jwkA","jwkB","thumbprintJwkA","thumbprintJwkB","Promise","all"],"sourceRoot":"../../../src","sources":["utils/jwk.ts"],"mappings":"AAAA,SAAiBA,aAAa,EAAEC,UAAU,QAAQ,6BAA6B;AAC/E,SAASC,CAAC,QAAQ,KAAK;AAGvB,OAAO,MAAMC,GAAG,GAAGD,CAAC,CAACE,MAAM,CAAC;EAC1B;EACAC,GAAG,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1BC,GAAG,EAAEN,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1BE,CAAC,EAAEP,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBG,EAAE,EAAER,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACzBI,EAAE,EAAET,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACzBK,CAAC,EAAEV,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxB;EACAM,GAAG,EAAEX,CAAC,CAACY,OAAO,CAAC,CAAC,CAACP,QAAQ,CAAC,CAAC;EAC3BQ,CAAC,EAAEb,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxB;EACAS,OAAO,EAAEd,CAAC,CAACe,KAAK,CAACf,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACvC;EACAW,GAAG,EAAEhB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1B;AACF;AACA;EACEY,GAAG,EAAEjB,CAAC,CAACkB,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;EAC1BC,CAAC,EAAEnB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBe,CAAC,EAAEpB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBgB,CAAC,EAAErB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBiB,EAAE,EAAEtB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACzB;EACAkB,GAAG,EAAEvB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1BmB,CAAC,EAAExB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxBoB,CAAC,EAAEzB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACxB;EACAqB,GAAG,EAAE1B,CAAC,CAACe,KAAK,CAACf,CAAC,CAACI,MAAM,CAAC,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACnC;EACAsB,GAAG,EAAE3B,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EAC1B;EACA,UAAU,EAAEL,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;EACjC;EACAuB,GAAG,EAAE5B,CAAC,CAACI,MAAM,CAAC,CAAC,CAACC,QAAQ,CAAC;AAC3B,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASwB,sBAAsBA,CAACC,GAAQ,EAAO;EACpD,MAAM;IAAEN,CAAC;IAAEC,CAAC;IAAEf,CAAC;IAAES,CAAC;IAAE,GAAGY;EAAG,CAAC,GAAGD,GAAG;EAEjC,OAAO;IACL,GAAGC,EAAE;IACL,IAAIP,CAAC,GAAG;MAAEA,CAAC,EAAE1B,aAAa,CAAC0B,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,IAAIC,CAAC,GAAG;MAAEA,CAAC,EAAE3B,aAAa,CAAC2B,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,IAAIf,CAAC,GAAG;MAAEA,CAAC,EAAEZ,aAAa,CAACY,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,IAAIS,CAAC,GAAG;MAAEA,CAAC,EAAErB,aAAa,CAACqB,CAAC;IAAE,CAAC,GAAG,CAAC,CAAC;EACtC,CAAC;AACH;AAGA,OAAO,MAAMa,IAAI,GAAGhC,CAAC,CAACE,MAAM,CAAC;EAC3B+B,IAAI,EAAEjC,CAAC,CAACe,KAAK,CAACd,GAAG;AACnB,CAAC,CAAC;AAIF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMiC,gBAAgB,GAAG,MAAAA,CAAOC,IAAS,EAAEC,IAAS,KAAK;EAC9D,MAAM,CAACC,cAAc,EAAEC,cAAc,CAAC,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAC,CACzDzC,UAAU,CAACoC,IAAI,CAAC,EAChBpC,UAAU,CAACqC,IAAI,CAAC,CACjB,CAAC;EACF,OAAOC,cAAc,KAAKC,cAAc;AAC1C,CAAC"}
@@ -4,7 +4,7 @@
4
4
 
5
5
  import { z } from "zod";
6
6
  const literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);
7
- const jsonSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]));
7
+ const jsonSchema = z.lazy(() => z.union([literalSchema, z.array(jsonSchema), z.record(z.string(), jsonSchema)]));
8
8
  export const json = () => jsonSchema;
9
9
  export const stringToJSONSchema = z.string().transform((str, ctx) => {
10
10
  try {
@@ -1 +1 @@
1
- {"version":3,"names":["z","literalSchema","union","string","number","boolean","null","jsonSchema","lazy","array","record","json","stringToJSONSchema","transform","str","ctx","JSON","parse","e","addIssue","code","message","NEVER","UnixTime","min","max"],"sourceRoot":"../../../src","sources":["utils/zod.ts"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,CAAC,QAAQ,KAAK;AAEvB,MAAMC,aAAa,GAAGD,CAAC,CAACE,KAAK,CAAC,CAACF,CAAC,CAACG,MAAM,CAAC,CAAC,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,EAAEJ,CAAC,CAACK,OAAO,CAAC,CAAC,EAAEL,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;AAM9E,MAAMC,UAA2B,GAAGP,CAAC,CAACQ,IAAI,CAAC,MACzCR,CAAC,CAACE,KAAK,CAAC,CAACD,aAAa,EAAED,CAAC,CAACS,KAAK,CAACF,UAAU,CAAC,EAAEP,CAAC,CAACU,MAAM,CAACH,UAAU,CAAC,CAAC,CACpE,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAMJ,UAAU;AAEpC,OAAO,MAAMK,kBAAkB,GAAGZ,CAAC,CAChCG,MAAM,CAAC,CAAC,CACRU,SAAS,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAuC;EACzD,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAACH,GAAG,CAAC;EACxB,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVH,GAAG,CAACI,QAAQ,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAEC,OAAO,EAAE;IAAe,CAAC,CAAC;IACzD,OAAOrB,CAAC,CAACsB,KAAK;EAChB;AACF,CAAC,CAAC;AAEJ,OAAO,MAAMC,QAAQ,GAAGvB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACoB,GAAG,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,aAAa,CAAC"}
1
+ {"version":3,"names":["z","literalSchema","union","string","number","boolean","null","jsonSchema","lazy","array","record","json","stringToJSONSchema","transform","str","ctx","JSON","parse","e","addIssue","code","message","NEVER","UnixTime","min","max"],"sourceRoot":"../../../src","sources":["utils/zod.ts"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,CAAC,QAAQ,KAAK;AAEvB,MAAMC,aAAa,GAAGD,CAAC,CAACE,KAAK,CAAC,CAACF,CAAC,CAACG,MAAM,CAAC,CAAC,EAAEH,CAAC,CAACI,MAAM,CAAC,CAAC,EAAEJ,CAAC,CAACK,OAAO,CAAC,CAAC,EAAEL,CAAC,CAACM,IAAI,CAAC,CAAC,CAAC,CAAC;AAM9E,MAAMC,UAA2B,GAAGP,CAAC,CAACQ,IAAI,CAAC,MACzCR,CAAC,CAACE,KAAK,CAAC,CACND,aAAa,EACbD,CAAC,CAACS,KAAK,CAACF,UAAU,CAAC,EACnBP,CAAC,CAACU,MAAM,CAACV,CAAC,CAACG,MAAM,CAAC,CAAC,EAAEI,UAAU,CAAC,CACjC,CACH,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAMJ,UAAU;AAEpC,OAAO,MAAMK,kBAAkB,GAAGZ,CAAC,CAChCG,MAAM,CAAC,CAAC,CACRU,SAAS,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAuC;EACzD,IAAI;IACF,OAAOC,IAAI,CAACC,KAAK,CAACH,GAAG,CAAC;EACxB,CAAC,CAAC,OAAOI,CAAC,EAAE;IACVH,GAAG,CAACI,QAAQ,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAEC,OAAO,EAAE;IAAe,CAAC,CAAC;IACzD,OAAOrB,CAAC,CAACsB,KAAK;EAChB;AACF,CAAC,CAAC;AAEJ,OAAO,MAAMC,QAAQ,GAAGvB,CAAC,CAACI,MAAM,CAAC,CAAC,CAACoB,GAAG,CAAC,CAAC,CAAC,CAACC,GAAG,CAAC,aAAa,CAAC"}
@@ -30,16 +30,19 @@ const { WALLET_PROVIDER_BASE_URL } = env; // Let's assume env is an object conta
30
30
  * WARNING: The integrity context must be the same used when creating the Wallet Instance with the same keytag.
31
31
  */
32
32
  const wallet = new IoWallet({ version: "1.0.0" });
33
- const issuedAttestation = await wallet.WalletInstanceAttestation.getAttestation({
34
- wiaCryptoContext,
35
- integrityContext,
36
- walletProviderBaseUrl: WALLET_PROVIDER_BASE_URL,
37
- appFetch,
38
- });
39
- // [
40
- // { type: "wallet_instance_attestation", "format": "jwt", "attestation": "ey..." },
41
- // { type: "wallet_instance_attestation", "format": "dc+sd-jwt", "attestation": "ey..." }
42
- // ]
33
+ const issuedAttestation = await wallet.WalletInstanceAttestation.getAttestation(
34
+ {
35
+ walletProviderBaseUrl: WALLET_PROVIDER_BASE_URL,
36
+ walletSolutionId: "exampleId",
37
+ walletSolutionVersion: "1.2.3",
38
+ },
39
+ {
40
+ wiaCryptoContext,
41
+ integrityContext,
42
+ appFetch,
43
+ }
44
+ );
45
+ // [{ "format": "jwt", "attestation": "ey..." }, { "format": "dc+sd-jwt", "attestation": "ey..." }]
43
46
  return issuedAttestation;
44
47
  ```
45
48
 
@@ -3,11 +3,11 @@ import { UnixTime } from "../../utils/zod";
3
3
  import { JWK } from "../../utils/jwk";
4
4
 
5
5
  /**
6
- * Common Wallet Attestation shape. This object is
6
+ * Common Wallet Instance Attestation shape. This object is
7
7
  * an abstraction over the version-specific JWTs.
8
8
  */
9
9
 
10
- export const DecodedAttestationJwt = z.object({
10
+ export const DecodedWalletInstanceAttestation = z.object({
11
11
  iss: z.string(),
12
12
  iat: UnixTime,
13
13
  exp: UnixTime,
@@ -15,8 +15,13 @@ export const DecodedAttestationJwt = z.object({
15
15
  jwk: JWK
16
16
  }),
17
17
  sub: z.string(),
18
+ wallet_provider_name: z.string().optional(),
19
+ wallet_solution_id: z.string().optional(),
20
+ /** @deprecated */
18
21
  wallet_link: z.string().optional(),
22
+ /** @deprecated */
19
23
  wallet_name: z.string().optional(),
24
+ /** @deprecated */
20
25
  aal: z.string().optional()
21
26
  });
22
27
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["z","UnixTime","JWK","DecodedAttestationJwt","object","iss","string","iat","exp","cnf","jwk","sub","wallet_link","optional","wallet_name","aal"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/api/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,iBAAiB;;AAErC;AACA;AACA;AACA;;AAEA,OAAO,MAAMC,qBAAqB,GAAGH,CAAC,CAACI,MAAM,CAAC;EAC5CC,GAAG,EAAEL,CAAC,CAACM,MAAM,CAAC,CAAC;EACfC,GAAG,EAAEN,QAAQ;EACbO,GAAG,EAAEP,QAAQ;EACbQ,GAAG,EAAET,CAAC,CAACI,MAAM,CAAC;IAAEM,GAAG,EAAER;EAAI,CAAC,CAAC;EAC3BS,GAAG,EAAEX,CAAC,CAACM,MAAM,CAAC,CAAC;EACfM,WAAW,EAAEZ,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EAClCC,WAAW,EAAEd,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EAClCE,GAAG,EAAEf,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC;AAC3B,CAAC,CAAC"}
1
+ {"version":3,"names":["z","UnixTime","JWK","DecodedWalletInstanceAttestation","object","iss","string","iat","exp","cnf","jwk","sub","wallet_provider_name","optional","wallet_solution_id","wallet_link","wallet_name","aal"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/api/types.ts"],"mappings":"AAAA,OAAO,KAAKA,CAAC,MAAM,KAAK;AACxB,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,GAAG,QAAQ,iBAAiB;;AAErC;AACA;AACA;AACA;;AAIA,OAAO,MAAMC,gCAAgC,GAAGH,CAAC,CAACI,MAAM,CAAC;EACvDC,GAAG,EAAEL,CAAC,CAACM,MAAM,CAAC,CAAC;EACfC,GAAG,EAAEN,QAAQ;EACbO,GAAG,EAAEP,QAAQ;EACbQ,GAAG,EAAET,CAAC,CAACI,MAAM,CAAC;IAAEM,GAAG,EAAER;EAAI,CAAC,CAAC;EAC3BS,GAAG,EAAEX,CAAC,CAACM,MAAM,CAAC,CAAC;EACfM,oBAAoB,EAAEZ,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EAC3CC,kBAAkB,EAAEd,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EACzC;EACAE,WAAW,EAAEf,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EAClC;EACAG,WAAW,EAAEhB,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC,CAAC;EAClC;EACAI,GAAG,EAAEjB,CAAC,CAACM,MAAM,CAAC,CAAC,CAACO,QAAQ,CAAC;AAC3B,CAAC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { withMapper, withMapperAsync } from "../../utils/mappers";
2
2
  import { getAttestation } from "./issuing";
3
3
  import { decode, verify } from "./utils";
4
- import { mapToDecodedAttestationJwt } from "./mappers";
4
+ import { mapToDecodedWalletInstanceAttestation } from "./mappers";
5
5
  export const WalletInstanceAttestation = {
6
6
  getAttestation,
7
- decode: withMapper(mapToDecodedAttestationJwt, decode),
8
- verify: withMapperAsync(mapToDecodedAttestationJwt, verify)
7
+ decode: withMapper(mapToDecodedWalletInstanceAttestation, decode),
8
+ verify: withMapperAsync(mapToDecodedWalletInstanceAttestation, verify)
9
9
  };
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["withMapper","withMapperAsync","getAttestation","decode","verify","mapToDecodedAttestationJwt","WalletInstanceAttestation"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.0.0/index.ts"],"mappings":"AACA,SAASA,UAAU,EAAEC,eAAe,QAAQ,qBAAqB;AACjE,SAASC,cAAc,QAAQ,WAAW;AAC1C,SAASC,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,SAASC,0BAA0B,QAAQ,WAAW;AAEtD,OAAO,MAAMC,yBAAuD,GAAG;EACrEJ,cAAc;EACdC,MAAM,EAAEH,UAAU,CAACK,0BAA0B,EAAEF,MAAM,CAAC;EACtDC,MAAM,EAAEH,eAAe,CAACI,0BAA0B,EAAED,MAAM;AAC5D,CAAC"}
1
+ {"version":3,"names":["withMapper","withMapperAsync","getAttestation","decode","verify","mapToDecodedWalletInstanceAttestation","WalletInstanceAttestation"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.0.0/index.ts"],"mappings":"AACA,SAASA,UAAU,EAAEC,eAAe,QAAQ,qBAAqB;AACjE,SAASC,cAAc,QAAQ,WAAW;AAC1C,SAASC,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,SAASC,qCAAqC,QAAQ,WAAW;AAEjE,OAAO,MAAMC,yBAAuD,GAAG;EACrEJ,cAAc;EACdC,MAAM,EAAEH,UAAU,CAACK,qCAAqC,EAAEF,MAAM,CAAC;EACjEC,MAAM,EAAEH,eAAe,CAACI,qCAAqC,EAAED,MAAM;AACvE,CAAC"}
@@ -47,24 +47,23 @@ async function getAttestationRequest(challenge, wiaCryptoContext, integrityConte
47
47
  typ: "wp-war+jwt"
48
48
  }).setIssuedAt().setExpirationTime("1h").sign();
49
49
  }
50
- export const getAttestation = async _ref => {
50
+ export const getAttestation = async (requestParams, _ref) => {
51
51
  let {
52
52
  wiaCryptoContext,
53
53
  integrityContext,
54
- walletProviderBaseUrl,
55
54
  appFetch = fetch
56
55
  } = _ref;
57
56
  const api = getWalletProviderClient({
58
- walletProviderBaseUrl,
57
+ walletProviderBaseUrl: requestParams.walletProviderBaseUrl,
59
58
  appFetch
60
59
  });
61
60
 
62
61
  // 1. Get nonce from backend
63
62
  const challenge = await api.get("/nonce").then(response => response.nonce);
64
- Logger.log(LogLevel.DEBUG, `Challenge obtained from ${walletProviderBaseUrl}: ${challenge} `);
63
+ Logger.log(LogLevel.DEBUG, `Challenge obtained from ${requestParams.walletProviderBaseUrl}: ${challenge} `);
65
64
 
66
65
  // 2. Get a signed attestation request
67
- const signedAttestationRequest = await getAttestationRequest(challenge, wiaCryptoContext, integrityContext, walletProviderBaseUrl);
66
+ const signedAttestationRequest = await getAttestationRequest(challenge, wiaCryptoContext, integrityContext, requestParams.walletProviderBaseUrl);
68
67
  Logger.log(LogLevel.DEBUG, `Signed attestation request: ${signedAttestationRequest}`);
69
68
 
70
69
  // 3. Request WIA in multiple formats
@@ -1 +1 @@
1
- {"version":3,"names":["SignJWT","thumbprint","fixBase64EncodingOnKey","JWK","getWalletProviderClient","LogLevel","Logger","ResponseErrorBuilder","WalletProviderResponseError","WalletProviderResponseErrorCodes","WalletAttestationResponse","mapToWalletAttestations","getAttestationRequest","challenge","wiaCryptoContext","integrityContext","walletProviderBaseUrl","jwk","getPublicKey","parsedJwk","parse","keyThumbprint","publicKey","kid","clientData","jwk_thumbprint","hardwareKeyTag","getHardwareKeyTag","signature","authenticatorData","getHardwareSignatureWithAuthData","JSON","stringify","setPayload","iss","aud","nonce","hardware_signature","integrity_assertion","hardware_key_tag","cnf","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","getAttestation","_ref","appFetch","fetch","api","get","then","response","log","DEBUG","signedAttestationRequest","post","body","assertion","catch","handleAttestationCreationError","attestation","wallet_attestations","format","wallet_attestation","e","ERROR","handle","code","WalletInstanceRevoked","message","WalletInstanceNotFound","WalletInstanceIntegrityFailed","WalletInstanceAttestationIssuingFailed","buildFrom"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.0.0/issuing.ts"],"mappings":"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"}
1
+ {"version":3,"names":["SignJWT","thumbprint","fixBase64EncodingOnKey","JWK","getWalletProviderClient","LogLevel","Logger","ResponseErrorBuilder","WalletProviderResponseError","WalletProviderResponseErrorCodes","WalletAttestationResponse","mapToWalletAttestations","getAttestationRequest","challenge","wiaCryptoContext","integrityContext","walletProviderBaseUrl","jwk","getPublicKey","parsedJwk","parse","keyThumbprint","publicKey","kid","clientData","jwk_thumbprint","hardwareKeyTag","getHardwareKeyTag","signature","authenticatorData","getHardwareSignatureWithAuthData","JSON","stringify","setPayload","iss","aud","nonce","hardware_signature","integrity_assertion","hardware_key_tag","cnf","setProtectedHeader","typ","setIssuedAt","setExpirationTime","sign","getAttestation","requestParams","_ref","appFetch","fetch","api","get","then","response","log","DEBUG","signedAttestationRequest","post","body","assertion","catch","handleAttestationCreationError","attestation","wallet_attestations","format","wallet_attestation","e","ERROR","handle","code","WalletInstanceRevoked","message","WalletInstanceNotFound","WalletInstanceIntegrityFailed","WalletInstanceAttestationIssuingFailed","buildFrom"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.0.0/issuing.ts"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
1
  import { createMapper } from "../../utils/mappers";
2
- import { DecodedAttestationJwt } from "../api/types";
3
- export const mapToDecodedAttestationJwt = createMapper(x => x.payload, {
4
- outputSchema: DecodedAttestationJwt
2
+ import { DecodedWalletInstanceAttestation } from "../api/types";
3
+ export const mapToDecodedWalletInstanceAttestation = createMapper(x => x.payload, {
4
+ outputSchema: DecodedWalletInstanceAttestation
5
5
  });
6
6
  export const mapToWalletAttestations = createMapper(x => x.wallet_attestations.map(wa => ({
7
- type: "wallet_instance_attestation",
8
7
  format: wa.format,
9
8
  attestation: wa.wallet_attestation
10
9
  })));
@@ -1 +1 @@
1
- {"version":3,"names":["createMapper","DecodedAttestationJwt","mapToDecodedAttestationJwt","x","payload","outputSchema","mapToWalletAttestations","wallet_attestations","map","wa","type","format","attestation","wallet_attestation"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.0.0/mappers.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,qBAAqB;AAClD,SAASC,qBAAqB,QAAgC,cAAc;AAM5E,OAAO,MAAMC,0BAA0B,GAAGF,YAAY,CAGnDG,CAAC,IAAKA,CAAC,CAACC,OAAO,EAAE;EAClBC,YAAY,EAAEJ;AAChB,CAAC,CAAC;AAEF,OAAO,MAAMK,uBAAuB,GAAGN,YAAY,CAGhDG,CAAC,IACFA,CAAC,CAACI,mBAAmB,CAACC,GAAG,CAAEC,EAAE,KAAM;EACjCC,IAAI,EAAE,6BAA6B;EACnCC,MAAM,EAAEF,EAAE,CAACE,MAAM;EACjBC,WAAW,EAAEH,EAAE,CAACI;AAClB,CAAC,CAAC,CACJ,CAAC"}
1
+ {"version":3,"names":["createMapper","DecodedWalletInstanceAttestation","mapToDecodedWalletInstanceAttestation","x","payload","outputSchema","mapToWalletAttestations","wallet_attestations","map","wa","format","attestation","wallet_attestation"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.0.0/mappers.ts"],"mappings":"AAAA,SAASA,YAAY,QAAQ,qBAAqB;AAClD,SACEC,gCAAgC,QAE3B,cAAc;AAMrB,OAAO,MAAMC,qCAAqC,GAAGF,YAAY,CAG9DG,CAAC,IAAKA,CAAC,CAACC,OAAO,EAAE;EAClBC,YAAY,EAAEJ;AAChB,CAAC,CAAC;AAEF,OAAO,MAAMK,uBAAuB,GAAGN,YAAY,CAGhDG,CAAC,IACFA,CAAC,CAACI,mBAAmB,CAACC,GAAG,CAAEC,EAAE,KAAM;EACjCC,MAAM,EAAED,EAAE,CAACC,MAAM;EACjBC,WAAW,EAAEF,EAAE,CAACG;AAClB,CAAC,CAAC,CACJ,CAAC"}
@@ -1,12 +1,10 @@
1
- import { UnimplementedFeatureError } from "../../utils/errors";
1
+ import { withMapper, withMapperAsync } from "../../utils/mappers";
2
2
  import { getAttestation } from "./issuing";
3
+ import { decode, verify } from "./utils";
4
+ import { mapToDecodedWalletInstanceAttestation } from "./mappers";
3
5
  export const WalletInstanceAttestation = {
4
6
  getAttestation,
5
- decode: () => {
6
- throw new UnimplementedFeatureError("decode", "1.3.3");
7
- },
8
- verify: () => {
9
- throw new UnimplementedFeatureError("verify", "1.3.3");
10
- }
7
+ decode: withMapper(mapToDecodedWalletInstanceAttestation, decode),
8
+ verify: withMapperAsync(mapToDecodedWalletInstanceAttestation, verify)
11
9
  };
12
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["UnimplementedFeatureError","getAttestation","WalletInstanceAttestation","decode","verify"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.3.3/index.ts"],"mappings":"AAAA,SAASA,yBAAyB,QAAQ,oBAAoB;AAE9D,SAASC,cAAc,QAAQ,WAAW;AAE1C,OAAO,MAAMC,yBAAuD,GAAG;EACrED,cAAc;EACdE,MAAM,EAAEA,CAAA,KAAM;IACZ,MAAM,IAAIH,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC;EACxD,CAAC;EACDI,MAAM,EAAEA,CAAA,KAAM;IACZ,MAAM,IAAIJ,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC;EACxD;AACF,CAAC"}
1
+ {"version":3,"names":["withMapper","withMapperAsync","getAttestation","decode","verify","mapToDecodedWalletInstanceAttestation","WalletInstanceAttestation"],"sourceRoot":"../../../../src","sources":["wallet-instance-attestation/v1.3.3/index.ts"],"mappings":"AAAA,SAASA,UAAU,EAAEC,eAAe,QAAQ,qBAAqB;AAEjE,SAASC,cAAc,QAAQ,WAAW;AAC1C,SAASC,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,SAASC,qCAAqC,QAAQ,WAAW;AAEjE,OAAO,MAAMC,yBAAuD,GAAG;EACrEJ,cAAc;EACdC,MAAM,EAAEH,UAAU,CAACK,qCAAqC,EAAEF,MAAM,CAAC;EACjEC,MAAM,EAAEH,eAAe,CAACI,qCAAqC,EAAED,MAAM;AACvE,CAAC"}
@@ -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":""}