@pagopa/io-react-native-wallet 1.7.1 → 2.0.0-next.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.
- package/README.md +47 -1
- package/lib/commonjs/client/generated/wallet-provider.js +49 -20
- package/lib/commonjs/client/generated/wallet-provider.js.map +1 -1
- package/lib/commonjs/credential/index.js +5 -1
- package/lib/commonjs/credential/index.js.map +1 -1
- package/lib/commonjs/credential/issuance/02-evaluate-issuer-trust.js +27 -0
- package/lib/commonjs/credential/issuance/02-evaluate-issuer-trust.js.map +1 -0
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js +25 -16
- package/lib/commonjs/credential/issuance/03-start-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js +30 -18
- package/lib/commonjs/credential/issuance/04-complete-user-authorization.js.map +1 -1
- package/lib/commonjs/credential/issuance/05-authorize-access.js +17 -12
- package/lib/commonjs/credential/issuance/05-authorize-access.js.map +1 -1
- package/lib/commonjs/credential/issuance/06-obtain-credential.js +36 -29
- package/lib/commonjs/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js +27 -207
- package/lib/commonjs/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/commonjs/credential/issuance/README.md +23 -20
- package/lib/commonjs/credential/issuance/const.js +1 -1
- package/lib/commonjs/credential/issuance/const.js.map +1 -1
- package/lib/commonjs/credential/issuance/index.js +3 -3
- package/lib/commonjs/credential/issuance/index.js.map +1 -1
- package/lib/commonjs/credential/presentation/01-start-flow.js +14 -15
- package/lib/commonjs/credential/presentation/01-start-flow.js.map +1 -1
- package/lib/commonjs/credential/presentation/02-evaluate-rp-trust.js +6 -4
- package/lib/commonjs/credential/presentation/02-evaluate-rp-trust.js.map +1 -1
- package/lib/commonjs/credential/presentation/03-get-request-object.js +34 -7
- package/lib/commonjs/credential/presentation/03-get-request-object.js.map +1 -1
- package/lib/commonjs/credential/presentation/04-retrieve-rp-jwks.js +4 -126
- package/lib/commonjs/credential/presentation/04-retrieve-rp-jwks.js.map +1 -1
- package/lib/commonjs/credential/presentation/05-verify-request-object.js +80 -25
- package/lib/commonjs/credential/presentation/05-verify-request-object.js.map +1 -1
- package/lib/commonjs/credential/presentation/06-fetch-presentation-definition.js +6 -30
- package/lib/commonjs/credential/presentation/06-fetch-presentation-definition.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js +97 -117
- package/lib/commonjs/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js +86 -191
- package/lib/commonjs/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js +112 -176
- package/lib/commonjs/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/commonjs/credential/presentation/README.md +74 -79
- package/lib/commonjs/credential/presentation/errors.js +42 -21
- package/lib/commonjs/credential/presentation/errors.js.map +1 -1
- package/lib/commonjs/credential/presentation/index.js +13 -13
- package/lib/commonjs/credential/presentation/index.js.map +1 -1
- package/lib/commonjs/credential/presentation/types.js +53 -29
- package/lib/commonjs/credential/presentation/types.js.map +1 -1
- package/lib/commonjs/credential/status/01-start-flow.js +2 -0
- package/lib/commonjs/credential/status/01-start-flow.js.map +1 -0
- package/lib/commonjs/credential/status/02-status-attestation.js +73 -0
- package/lib/commonjs/credential/status/02-status-attestation.js.map +1 -0
- package/lib/commonjs/credential/status/03-verify-and-parse-status-attestation.js +55 -0
- package/lib/commonjs/credential/status/03-verify-and-parse-status-attestation.js.map +1 -0
- package/lib/commonjs/credential/status/README.md +67 -0
- package/lib/commonjs/credential/status/index.js +27 -0
- package/lib/commonjs/credential/status/index.js.map +1 -0
- package/lib/commonjs/credential/status/types.js +48 -0
- package/lib/commonjs/credential/status/types.js.map +1 -0
- package/lib/commonjs/credential/trustmark/README.md +62 -0
- package/lib/commonjs/credential/trustmark/get-credential-trustmark.js +86 -0
- package/lib/commonjs/credential/trustmark/get-credential-trustmark.js.map +1 -0
- package/lib/commonjs/credential/trustmark/index.js +13 -0
- package/lib/commonjs/credential/trustmark/index.js.map +1 -0
- package/lib/commonjs/index.js +5 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/pid/sd-jwt/types.js +18 -2
- package/lib/commonjs/pid/sd-jwt/types.js.map +1 -1
- package/lib/commonjs/sd-jwt/__test__/index.test.js +22 -34
- package/lib/commonjs/sd-jwt/__test__/index.test.js.map +1 -1
- package/lib/commonjs/sd-jwt/__test__/types.test.js +11 -23
- package/lib/commonjs/sd-jwt/__test__/types.test.js.map +1 -1
- package/lib/commonjs/sd-jwt/index.js +1 -7
- package/lib/commonjs/sd-jwt/index.js.map +1 -1
- package/lib/commonjs/sd-jwt/types.js +5 -21
- package/lib/commonjs/sd-jwt/types.js.map +1 -1
- package/lib/commonjs/trust/README.md +147 -0
- package/lib/commonjs/trust/chain.js +153 -0
- package/lib/commonjs/trust/chain.js.map +1 -0
- package/lib/commonjs/trust/errors.js +133 -0
- package/lib/commonjs/trust/errors.js.map +1 -0
- package/lib/commonjs/trust/index.js +288 -0
- package/lib/commonjs/trust/index.js.map +1 -0
- package/lib/commonjs/{entity/trust → trust}/types.js +27 -47
- package/lib/commonjs/trust/types.js.map +1 -0
- package/lib/commonjs/trust/utils.js +70 -0
- package/lib/commonjs/trust/utils.js.map +1 -0
- package/lib/commonjs/utils/crypto.js +5 -112
- package/lib/commonjs/utils/crypto.js.map +1 -1
- package/lib/commonjs/utils/decoder.js +2 -0
- package/lib/commonjs/utils/decoder.js.map +1 -1
- package/lib/commonjs/utils/error-codes.js +22 -2
- package/lib/commonjs/utils/error-codes.js.map +1 -1
- package/lib/commonjs/utils/errors.js +72 -4
- package/lib/commonjs/utils/errors.js.map +1 -1
- package/lib/commonjs/utils/logging.js +68 -0
- package/lib/commonjs/utils/logging.js.map +1 -0
- package/lib/commonjs/utils/misc.js +2 -0
- package/lib/commonjs/utils/misc.js.map +1 -1
- package/lib/commonjs/utils/par.js +17 -10
- package/lib/commonjs/utils/par.js.map +1 -1
- package/lib/commonjs/utils/string.js +1 -12
- package/lib/commonjs/utils/string.js.map +1 -1
- package/lib/commonjs/wallet-instance/index.js +14 -0
- package/lib/commonjs/wallet-instance/index.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/README.md +8 -3
- package/lib/commonjs/wallet-instance-attestation/issuing.js +15 -8
- package/lib/commonjs/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/commonjs/wallet-instance-attestation/types.js +16 -20
- package/lib/commonjs/wallet-instance-attestation/types.js.map +1 -1
- package/lib/module/client/generated/wallet-provider.js +40 -15
- package/lib/module/client/generated/wallet-provider.js.map +1 -1
- package/lib/module/credential/index.js +3 -1
- package/lib/module/credential/index.js.map +1 -1
- package/lib/module/credential/issuance/02-evaluate-issuer-trust.js +20 -0
- package/lib/module/credential/issuance/02-evaluate-issuer-trust.js.map +1 -0
- package/lib/module/credential/issuance/03-start-user-authorization.js +25 -16
- package/lib/module/credential/issuance/03-start-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/04-complete-user-authorization.js +30 -18
- package/lib/module/credential/issuance/04-complete-user-authorization.js.map +1 -1
- package/lib/module/credential/issuance/05-authorize-access.js +17 -11
- package/lib/module/credential/issuance/05-authorize-access.js.map +1 -1
- package/lib/module/credential/issuance/06-obtain-credential.js +36 -28
- package/lib/module/credential/issuance/06-obtain-credential.js.map +1 -1
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js +27 -205
- package/lib/module/credential/issuance/07-verify-and-parse-credential.js.map +1 -1
- package/lib/module/credential/issuance/README.md +23 -20
- package/lib/module/credential/issuance/const.js +1 -1
- package/lib/module/credential/issuance/const.js.map +1 -1
- package/lib/module/credential/issuance/index.js +2 -2
- package/lib/module/credential/issuance/index.js.map +1 -1
- package/lib/module/credential/presentation/01-start-flow.js +14 -15
- package/lib/module/credential/presentation/01-start-flow.js.map +1 -1
- package/lib/module/credential/presentation/02-evaluate-rp-trust.js +5 -3
- package/lib/module/credential/presentation/02-evaluate-rp-trust.js.map +1 -1
- package/lib/module/credential/presentation/03-get-request-object.js +34 -7
- package/lib/module/credential/presentation/03-get-request-object.js.map +1 -1
- package/lib/module/credential/presentation/04-retrieve-rp-jwks.js +2 -124
- package/lib/module/credential/presentation/04-retrieve-rp-jwks.js.map +1 -1
- package/lib/module/credential/presentation/05-verify-request-object.js +78 -23
- package/lib/module/credential/presentation/05-verify-request-object.js.map +1 -1
- package/lib/module/credential/presentation/06-fetch-presentation-definition.js +6 -30
- package/lib/module/credential/presentation/06-fetch-presentation-definition.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js +97 -118
- package/lib/module/credential/presentation/07-evaluate-dcql-query.js.map +1 -1
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js +83 -186
- package/lib/module/credential/presentation/07-evaluate-input-descriptor.js.map +1 -1
- package/lib/module/credential/presentation/08-send-authorization-response.js +107 -170
- package/lib/module/credential/presentation/08-send-authorization-response.js.map +1 -1
- package/lib/module/credential/presentation/README.md +74 -79
- package/lib/module/credential/presentation/errors.js +30 -17
- package/lib/module/credential/presentation/errors.js.map +1 -1
- package/lib/module/credential/presentation/index.js +6 -6
- package/lib/module/credential/presentation/index.js.map +1 -1
- package/lib/module/credential/presentation/types.js +49 -27
- package/lib/module/credential/presentation/types.js.map +1 -1
- package/lib/module/credential/status/01-start-flow.js +2 -0
- package/lib/module/credential/status/01-start-flow.js.map +1 -0
- package/lib/module/credential/status/02-status-attestation.js +66 -0
- package/lib/module/credential/status/02-status-attestation.js.map +1 -0
- package/lib/module/credential/status/03-verify-and-parse-status-attestation.js +49 -0
- package/lib/module/credential/status/03-verify-and-parse-status-attestation.js.map +1 -0
- package/lib/module/credential/status/README.md +67 -0
- package/lib/module/credential/status/index.js +5 -0
- package/lib/module/credential/status/index.js.map +1 -0
- package/lib/module/credential/status/types.js +40 -0
- package/lib/module/credential/status/types.js.map +1 -0
- package/lib/module/credential/trustmark/README.md +62 -0
- package/lib/module/credential/trustmark/get-credential-trustmark.js +77 -0
- package/lib/module/credential/trustmark/get-credential-trustmark.js.map +1 -0
- package/lib/module/credential/trustmark/index.js +3 -0
- package/lib/module/credential/trustmark/index.js.map +1 -0
- package/lib/module/index.js +3 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/pid/sd-jwt/types.js +16 -1
- package/lib/module/pid/sd-jwt/types.js.map +1 -1
- package/lib/module/sd-jwt/__test__/index.test.js +22 -34
- package/lib/module/sd-jwt/__test__/index.test.js.map +1 -1
- package/lib/module/sd-jwt/__test__/types.test.js +11 -23
- package/lib/module/sd-jwt/__test__/types.test.js.map +1 -1
- package/lib/module/sd-jwt/index.js +1 -7
- package/lib/module/sd-jwt/index.js.map +1 -1
- package/lib/module/sd-jwt/types.js +4 -19
- package/lib/module/sd-jwt/types.js.map +1 -1
- package/lib/module/trust/README.md +147 -0
- package/lib/module/trust/chain.js +145 -0
- package/lib/module/trust/chain.js.map +1 -0
- package/lib/module/trust/errors.js +115 -0
- package/lib/module/trust/errors.js.map +1 -0
- package/lib/module/trust/index.js +269 -0
- package/lib/module/trust/index.js.map +1 -0
- package/lib/module/{entity/trust → trust}/types.js +25 -46
- package/lib/module/trust/types.js.map +1 -0
- package/lib/module/trust/utils.js +60 -0
- package/lib/module/trust/utils.js.map +1 -0
- package/lib/module/utils/crypto.js +4 -107
- package/lib/module/utils/crypto.js.map +1 -1
- package/lib/module/utils/decoder.js +3 -0
- package/lib/module/utils/decoder.js.map +1 -1
- package/lib/module/utils/error-codes.js +20 -1
- package/lib/module/utils/error-codes.js.map +1 -1
- package/lib/module/utils/errors.js +61 -4
- package/lib/module/utils/errors.js.map +1 -1
- package/lib/module/utils/logging.js +62 -0
- package/lib/module/utils/logging.js.map +1 -0
- package/lib/module/utils/misc.js +2 -0
- package/lib/module/utils/misc.js.map +1 -1
- package/lib/module/utils/par.js +17 -9
- package/lib/module/utils/par.js.map +1 -1
- package/lib/module/utils/string.js +0 -10
- package/lib/module/utils/string.js.map +1 -1
- package/lib/module/wallet-instance/index.js +13 -0
- package/lib/module/wallet-instance/index.js.map +1 -1
- package/lib/module/wallet-instance-attestation/README.md +8 -3
- package/lib/module/wallet-instance-attestation/index.js +2 -2
- package/lib/module/wallet-instance-attestation/index.js.map +1 -1
- package/lib/module/wallet-instance-attestation/issuing.js +16 -9
- package/lib/module/wallet-instance-attestation/issuing.js.map +1 -1
- package/lib/module/wallet-instance-attestation/types.js +14 -18
- package/lib/module/wallet-instance-attestation/types.js.map +1 -1
- package/lib/typescript/client/generated/wallet-provider.d.ts +206 -51
- package/lib/typescript/client/generated/wallet-provider.d.ts.map +1 -1
- package/lib/typescript/credential/index.d.ts +3 -1
- package/lib/typescript/credential/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/01-start-flow.d.ts +1 -1
- package/lib/typescript/credential/issuance/02-evaluate-issuer-trust.d.ts +19 -0
- package/lib/typescript/credential/issuance/02-evaluate-issuer-trust.d.ts.map +1 -0
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts +3 -3
- package/lib/typescript/credential/issuance/03-start-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts +9 -9
- package/lib/typescript/credential/issuance/04-complete-user-authorization.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/05-authorize-access.d.ts +3 -3
- package/lib/typescript/credential/issuance/05-authorize-access.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts +4 -4
- package/lib/typescript/credential/issuance/06-obtain-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts +3 -15
- package/lib/typescript/credential/issuance/07-verify-and-parse-credential.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/const.d.ts +1 -1
- package/lib/typescript/credential/issuance/const.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/index.d.ts +3 -3
- package/lib/typescript/credential/issuance/index.d.ts.map +1 -1
- package/lib/typescript/credential/issuance/types.d.ts +8 -3
- package/lib/typescript/credential/issuance/types.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/01-start-flow.d.ts +28 -9
- package/lib/typescript/credential/presentation/01-start-flow.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/02-evaluate-rp-trust.d.ts +2 -1
- package/lib/typescript/credential/presentation/02-evaluate-rp-trust.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/03-get-request-object.d.ts +7 -5
- package/lib/typescript/credential/presentation/03-get-request-object.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/04-retrieve-rp-jwks.d.ts +4 -30
- package/lib/typescript/credential/presentation/04-retrieve-rp-jwks.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/05-verify-request-object.d.ts +17 -4
- package/lib/typescript/credential/presentation/05-verify-request-object.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/06-fetch-presentation-definition.d.ts +4 -9
- package/lib/typescript/credential/presentation/06-fetch-presentation-definition.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts +13 -12
- package/lib/typescript/credential/presentation/07-evaluate-dcql-query.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts +40 -42
- package/lib/typescript/credential/presentation/07-evaluate-input-descriptor.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts +30 -43
- package/lib/typescript/credential/presentation/08-send-authorization-response.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/errors.d.ts +25 -10
- package/lib/typescript/credential/presentation/errors.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/index.d.ts +7 -8
- package/lib/typescript/credential/presentation/index.d.ts.map +1 -1
- package/lib/typescript/credential/presentation/types.d.ts +137 -307
- package/lib/typescript/credential/presentation/types.d.ts.map +1 -1
- package/lib/typescript/credential/status/01-start-flow.d.ts +10 -0
- package/lib/typescript/credential/status/01-start-flow.d.ts.map +1 -0
- package/lib/typescript/credential/status/02-status-attestation.d.ts +19 -0
- package/lib/typescript/credential/status/02-status-attestation.d.ts.map +1 -0
- package/lib/typescript/credential/status/03-verify-and-parse-status-attestation.d.ts +24 -0
- package/lib/typescript/credential/status/03-verify-and-parse-status-attestation.d.ts.map +1 -0
- package/lib/typescript/credential/status/index.d.ts +7 -0
- package/lib/typescript/credential/status/index.d.ts.map +1 -0
- package/lib/typescript/credential/status/types.d.ts +305 -0
- package/lib/typescript/credential/status/types.d.ts.map +1 -0
- package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts +52 -0
- package/lib/typescript/credential/trustmark/get-credential-trustmark.d.ts.map +1 -0
- package/lib/typescript/credential/trustmark/index.d.ts +4 -0
- package/lib/typescript/credential/trustmark/index.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +3 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/pid/sd-jwt/types.d.ts +103 -25
- package/lib/typescript/pid/sd-jwt/types.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/index.d.ts +20 -72
- package/lib/typescript/sd-jwt/index.d.ts.map +1 -1
- package/lib/typescript/sd-jwt/types.d.ts +24 -129
- package/lib/typescript/sd-jwt/types.d.ts.map +1 -1
- package/lib/typescript/trust/chain.d.ts +23 -0
- package/lib/typescript/trust/chain.d.ts.map +1 -0
- package/lib/typescript/trust/errors.d.ts +102 -0
- package/lib/typescript/trust/errors.d.ts.map +1 -0
- package/lib/typescript/{entity/trust → trust}/index.d.ts +308 -281
- package/lib/typescript/trust/index.d.ts.map +1 -0
- package/lib/typescript/{entity/trust → trust}/types.d.ts +1714 -1301
- package/lib/typescript/{entity/trust → trust}/types.d.ts.map +1 -1
- package/lib/typescript/trust/utils.d.ts +22 -0
- package/lib/typescript/trust/utils.d.ts.map +1 -0
- package/lib/typescript/utils/crypto.d.ts +0 -32
- package/lib/typescript/utils/crypto.d.ts.map +1 -1
- package/lib/typescript/utils/decoder.d.ts.map +1 -1
- package/lib/typescript/utils/error-codes.d.ts +20 -0
- package/lib/typescript/utils/error-codes.d.ts.map +1 -1
- package/lib/typescript/utils/errors.d.ts +55 -10
- package/lib/typescript/utils/errors.d.ts.map +1 -1
- package/lib/typescript/utils/logging.d.ts +35 -0
- package/lib/typescript/utils/logging.d.ts.map +1 -0
- package/lib/typescript/utils/misc.d.ts.map +1 -1
- package/lib/typescript/utils/par.d.ts +8 -1
- package/lib/typescript/utils/par.d.ts.map +1 -1
- package/lib/typescript/utils/string.d.ts +0 -7
- package/lib/typescript/utils/string.d.ts.map +1 -1
- package/lib/typescript/wallet-instance/index.d.ts +8 -0
- package/lib/typescript/wallet-instance/index.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/index.d.ts +1 -2
- package/lib/typescript/wallet-instance-attestation/index.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts +4 -2
- package/lib/typescript/wallet-instance-attestation/issuing.d.ts.map +1 -1
- package/lib/typescript/wallet-instance-attestation/types.d.ts +60 -102
- package/lib/typescript/wallet-instance-attestation/types.d.ts.map +1 -1
- package/package.json +9 -10
- package/src/client/generated/wallet-provider.ts +52 -17
- package/src/credential/index.ts +4 -1
- package/src/credential/issuance/01-start-flow.ts +1 -1
- package/src/credential/issuance/02-evaluate-issuer-trust.ts +32 -0
- package/src/credential/issuance/03-start-user-authorization.ts +48 -22
- package/src/credential/issuance/04-complete-user-authorization.ts +74 -18
- package/src/credential/issuance/05-authorize-access.ts +29 -11
- package/src/credential/issuance/06-obtain-credential.ts +61 -36
- package/src/credential/issuance/07-verify-and-parse-credential.ts +37 -264
- package/src/credential/issuance/README.md +23 -20
- package/src/credential/issuance/const.ts +1 -1
- package/src/credential/issuance/index.ts +6 -3
- package/src/credential/presentation/01-start-flow.ts +19 -22
- package/src/credential/presentation/02-evaluate-rp-trust.ts +5 -4
- package/src/credential/presentation/03-get-request-object.ts +36 -8
- package/src/credential/presentation/04-retrieve-rp-jwks.ts +6 -148
- package/src/credential/presentation/05-verify-request-object.ts +115 -30
- package/src/credential/presentation/06-fetch-presentation-definition.ts +5 -35
- package/src/credential/presentation/07-evaluate-dcql-query.ts +132 -161
- package/src/credential/presentation/07-evaluate-input-descriptor.ts +136 -254
- package/src/credential/presentation/08-send-authorization-response.ts +178 -260
- package/src/credential/presentation/README.md +74 -79
- package/src/credential/presentation/errors.ts +38 -15
- package/src/credential/presentation/index.ts +18 -19
- package/src/credential/presentation/types.ts +67 -64
- package/src/credential/status/01-start-flow.ts +9 -0
- package/src/credential/status/02-status-attestation.ts +105 -0
- package/src/credential/status/03-verify-and-parse-status-attestation.ts +70 -0
- package/src/credential/status/README.md +67 -0
- package/src/credential/status/index.ts +22 -0
- package/src/credential/status/types.ts +43 -0
- package/src/credential/trustmark/README.md +62 -0
- package/src/credential/trustmark/get-credential-trustmark.ts +139 -0
- package/src/credential/trustmark/index.ts +8 -0
- package/src/index.ts +4 -0
- package/src/pid/sd-jwt/types.ts +18 -1
- package/src/sd-jwt/__test__/index.test.ts +36 -55
- package/src/sd-jwt/__test__/types.test.ts +16 -29
- package/src/sd-jwt/index.ts +1 -5
- package/src/sd-jwt/types.ts +2 -19
- package/src/trust/README.md +147 -0
- package/src/trust/chain.ts +227 -0
- package/src/trust/errors.ts +136 -0
- package/src/{entity/trust → trust}/index.ts +207 -25
- package/src/{entity/trust → trust}/types.ts +24 -37
- package/src/trust/utils.ts +70 -0
- package/src/utils/crypto.ts +4 -106
- package/src/utils/decoder.ts +6 -1
- package/src/utils/error-codes.ts +23 -0
- package/src/utils/errors.ts +119 -15
- package/src/utils/logging.ts +68 -0
- package/src/utils/misc.ts +5 -0
- package/src/utils/par.ts +19 -6
- package/src/utils/string.ts +0 -10
- package/src/wallet-instance/index.ts +30 -1
- package/src/wallet-instance-attestation/README.md +8 -3
- package/src/wallet-instance-attestation/index.ts +2 -2
- package/src/wallet-instance-attestation/issuing.ts +33 -12
- package/src/wallet-instance-attestation/types.ts +18 -22
- package/lib/commonjs/credential/issuance/02-get-issuer-config.js +0 -48
- package/lib/commonjs/credential/issuance/02-get-issuer-config.js.map +0 -1
- package/lib/commonjs/entity/openid-connect/issuer/index.js +0 -25
- package/lib/commonjs/entity/openid-connect/issuer/index.js.map +0 -1
- package/lib/commonjs/entity/openid-connect/issuer/types.js +0 -64
- package/lib/commonjs/entity/openid-connect/issuer/types.js.map +0 -1
- package/lib/commonjs/entity/trust/chain.js +0 -122
- package/lib/commonjs/entity/trust/chain.js.map +0 -1
- package/lib/commonjs/entity/trust/index.js +0 -148
- package/lib/commonjs/entity/trust/index.js.map +0 -1
- package/lib/commonjs/entity/trust/types.js.map +0 -1
- package/lib/commonjs/mdoc/converters.js +0 -26
- package/lib/commonjs/mdoc/converters.js.map +0 -1
- package/lib/commonjs/mdoc/index.js +0 -68
- package/lib/commonjs/mdoc/index.js.map +0 -1
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +0 -469
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +0 -1
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +0 -90
- package/lib/commonjs/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +0 -1
- package/lib/module/credential/issuance/02-get-issuer-config.js +0 -42
- package/lib/module/credential/issuance/02-get-issuer-config.js.map +0 -1
- package/lib/module/entity/openid-connect/issuer/index.js +0 -20
- package/lib/module/entity/openid-connect/issuer/index.js.map +0 -1
- package/lib/module/entity/openid-connect/issuer/types.js +0 -48
- package/lib/module/entity/openid-connect/issuer/types.js.map +0 -1
- package/lib/module/entity/trust/chain.js +0 -113
- package/lib/module/entity/trust/chain.js.map +0 -1
- package/lib/module/entity/trust/index.js +0 -131
- package/lib/module/entity/trust/index.js.map +0 -1
- package/lib/module/entity/trust/types.js.map +0 -1
- package/lib/module/mdoc/converters.js +0 -20
- package/lib/module/mdoc/converters.js.map +0 -1
- package/lib/module/mdoc/index.js +0 -60
- package/lib/module/mdoc/index.js.map +0 -1
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js +0 -462
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-inputs.js.map +0 -1
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js +0 -83
- package/lib/module/utils/credential/issuance/07-verify-and-parse-credentials-utils.js.map +0 -1
- package/lib/typescript/credential/issuance/02-get-issuer-config.d.ts +0 -32
- package/lib/typescript/credential/issuance/02-get-issuer-config.d.ts.map +0 -1
- package/lib/typescript/entity/openid-connect/issuer/index.d.ts +0 -12
- package/lib/typescript/entity/openid-connect/issuer/index.d.ts.map +0 -1
- package/lib/typescript/entity/openid-connect/issuer/types.d.ts +0 -777
- package/lib/typescript/entity/openid-connect/issuer/types.d.ts.map +0 -1
- package/lib/typescript/entity/trust/chain.d.ts +0 -26
- package/lib/typescript/entity/trust/chain.d.ts.map +0 -1
- package/lib/typescript/entity/trust/index.d.ts.map +0 -1
- package/lib/typescript/mdoc/converters.d.ts +0 -8
- package/lib/typescript/mdoc/converters.d.ts.map +0 -1
- package/lib/typescript/mdoc/index.d.ts +0 -10
- package/lib/typescript/mdoc/index.d.ts.map +0 -1
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts +0 -3
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-inputs.d.ts.map +0 -1
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts +0 -42
- package/lib/typescript/utils/credential/issuance/07-verify-and-parse-credentials-utils.d.ts.map +0 -1
- package/src/credential/issuance/02-get-issuer-config.ts +0 -67
- package/src/entity/openid-connect/issuer/index.ts +0 -27
- package/src/entity/openid-connect/issuer/types.ts +0 -76
- package/src/entity/trust/chain.ts +0 -154
- package/src/mdoc/converters.ts +0 -26
- package/src/mdoc/index.ts +0 -95
- package/src/utils/credential/issuance/07-verify-and-parse-credentials-inputs.ts +0 -615
- package/src/utils/credential/issuance/07-verify-and-parse-credentials-utils.ts +0 -171
@@ -1,48 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.getIssuerConfig = void 0;
|
7
|
-
var _issuer = require("../../entity/openid-connect/issuer");
|
8
|
-
/**
|
9
|
-
* Common configuration for the issuer.
|
10
|
-
* This is needed to have a common configuration for the issuer to be used in our flows.
|
11
|
-
* It allows to support multiple issuers with different configurations, defining a common interface to interact with them.
|
12
|
-
*/
|
13
|
-
|
14
|
-
/**
|
15
|
-
* WARNING: This function must be called after {@link startFlow}. The next function to be called is {@link startUserAuthorization}.
|
16
|
-
* Get the Issuer's configuration from the Issuer's metadata.
|
17
|
-
* Currently it only supports a mixed configuration based on OpenID Connect partial implementation.
|
18
|
-
* @param issuerUrl The base url of the Issuer returned by {@link startFlow}
|
19
|
-
* @param context.appFetch (optional) fetch api implementation. Default: built-in fetch
|
20
|
-
* @returns The Issuer's configuration
|
21
|
-
*/
|
22
|
-
const getIssuerConfig = async function (issuerUrl) {
|
23
|
-
let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
24
|
-
const res = await (0, _issuer.getCredentialIssuerMetadata)(issuerUrl, {
|
25
|
-
appFetch: context.appFetch
|
26
|
-
});
|
27
|
-
return credentialIssuerRationalization(res);
|
28
|
-
};
|
29
|
-
|
30
|
-
/**
|
31
|
-
* Rationalize the issuer's metadata to the issuer's configuration which is then used in our flows to interact with the issuer.
|
32
|
-
* @param issuerMetadata - The issuer's metadata
|
33
|
-
* @returns the isssuer configuration to be used later in our flows
|
34
|
-
*/
|
35
|
-
exports.getIssuerConfig = getIssuerConfig;
|
36
|
-
const credentialIssuerRationalization = issuerMetadata => {
|
37
|
-
return {
|
38
|
-
issuerConf: {
|
39
|
-
credential_configurations_supported: issuerMetadata.credential_configurations_supported,
|
40
|
-
pushed_authorization_request_endpoint: issuerMetadata.pushed_authorization_request_endpoint,
|
41
|
-
authorization_endpoint: issuerMetadata.authorization_endpoint,
|
42
|
-
token_endpoint: issuerMetadata.token_endpoint,
|
43
|
-
credential_endpoint: issuerMetadata.credential_endpoint,
|
44
|
-
keys: issuerMetadata.jwks.keys
|
45
|
-
}
|
46
|
-
};
|
47
|
-
};
|
48
|
-
//# sourceMappingURL=02-get-issuer-config.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_issuer","require","getIssuerConfig","issuerUrl","context","arguments","length","undefined","res","getCredentialIssuerMetadata","appFetch","credentialIssuerRationalization","exports","issuerMetadata","issuerConf","credential_configurations_supported","pushed_authorization_request_endpoint","authorization_endpoint","token_endpoint","credential_endpoint","keys","jwks"],"sourceRoot":"../../../../src","sources":["credential/issuance/02-get-issuer-config.ts"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAUA;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,eAAgC,GAAG,eAAAA,CAC9CC,SAAS,EAEuB;EAAA,IADhCC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEZ,MAAMG,GAAG,GAAG,MAAM,IAAAC,mCAA2B,EAACN,SAAS,EAAE;IACvDO,QAAQ,EAAEN,OAAO,CAACM;EACpB,CAAC,CAAC;EAEF,OAAOC,+BAA+B,CAACH,GAAG,CAAC;AAC7C,CAAC;;AAED;AACA;AACA;AACA;AACA;AAJAI,OAAA,CAAAV,eAAA,GAAAA,eAAA;AAKA,MAAMS,+BAA+B,GACnCE,cAAuE,IAC9B;EACzC,OAAO;IACLC,UAAU,EAAE;MACVC,mCAAmC,EACjCF,cAAc,CAACE,mCAAmC;MACpDC,qCAAqC,EACnCH,cAAc,CAACG,qCAAqC;MACtDC,sBAAsB,EAAEJ,cAAc,CAACI,sBAAsB;MAC7DC,cAAc,EAAEL,cAAc,CAACK,cAAc;MAC7CC,mBAAmB,EAAEN,cAAc,CAACM,mBAAmB;MACvDC,IAAI,EAAEP,cAAc,CAACQ,IAAI,CAACD;IAC5B;EACF,CAAC;AACH,CAAC"}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.getCredentialIssuerMetadata = getCredentialIssuerMetadata;
|
7
|
-
var _misc = require("../../../utils/misc");
|
8
|
-
var _types = require("./types");
|
9
|
-
/**
|
10
|
-
* Fetch the signed entity configuration token for an entity
|
11
|
-
*
|
12
|
-
* @param entityBaseUrl The url of the entity to fetch
|
13
|
-
* @param param.appFetch (optional) fetch api implemention
|
14
|
-
* @returns The signed Entity Configuration token
|
15
|
-
*/
|
16
|
-
async function getCredentialIssuerMetadata(entityBaseUrl) {
|
17
|
-
let {
|
18
|
-
appFetch = fetch
|
19
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
20
|
-
const wellKnownUrl = `${entityBaseUrl}/.well-known/openid-credential-issuer`;
|
21
|
-
return await appFetch(wellKnownUrl, {
|
22
|
-
method: "GET"
|
23
|
-
}).then((0, _misc.hasStatusOrThrow)(200)).then(res => res.json()).then(_types.CredentialIssuerConfiguration.parse);
|
24
|
-
}
|
25
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_misc","require","_types","getCredentialIssuerMetadata","entityBaseUrl","appFetch","fetch","arguments","length","undefined","wellKnownUrl","method","then","hasStatusOrThrow","res","json","CredentialIssuerConfiguration","parse"],"sourceRoot":"../../../../../src","sources":["entity/openid-connect/issuer/index.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAeE,2BAA2BA,CAC/CC,aAAqB,EAMmB;EAAA,IALxC;IACEC,QAAQ,GAAGC;EAGb,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,MAAMG,YAAY,GAAI,GAAEN,aAAc,uCAAsC;EAE5E,OAAO,MAAMC,QAAQ,CAACK,YAAY,EAAE;IAClCC,MAAM,EAAE;EACV,CAAC,CAAC,CACCC,IAAI,CAAC,IAAAC,sBAAgB,EAAC,GAAG,CAAC,CAAC,CAC3BD,IAAI,CAAEE,GAAG,IAAKA,GAAG,CAACC,IAAI,CAAC,CAAC,CAAC,CACzBH,IAAI,CAACI,oCAA6B,CAACC,KAAK,CAAC;AAC9C"}
|
@@ -1,64 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.CredentialSdJwtClaims = exports.CredentialIssuerKeys = exports.CredentialIssuerConfiguration = exports.CredentialFormat = exports.CredentialDisplay = exports.CredentialConfigurationSupported = exports.CredentialClaimDisplay = exports.CredentialClaim = void 0;
|
7
|
-
var _jwk = require("../../../utils/jwk");
|
8
|
-
var z = _interopRequireWildcard(require("zod"));
|
9
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
10
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
11
|
-
// Display metadata for a credential, used by the issuer to
|
12
|
-
// instruct the Wallet Solution on how to render the credential correctly
|
13
|
-
|
14
|
-
const CredentialDisplay = z.object({
|
15
|
-
name: z.string(),
|
16
|
-
locale: z.string(),
|
17
|
-
logo: z.object({
|
18
|
-
url: z.string(),
|
19
|
-
alt_text: z.string()
|
20
|
-
}).optional(),
|
21
|
-
background_color: z.string().optional(),
|
22
|
-
text_color: z.string().optional()
|
23
|
-
});
|
24
|
-
exports.CredentialDisplay = CredentialDisplay;
|
25
|
-
const CredentialClaimDisplay = z.object({
|
26
|
-
name: z.string(),
|
27
|
-
locale: z.string()
|
28
|
-
});
|
29
|
-
exports.CredentialClaimDisplay = CredentialClaimDisplay;
|
30
|
-
const CredentialFormat = z.union([z.literal("vc+sd-jwt"), z.literal("mso_mdoc")]);
|
31
|
-
exports.CredentialFormat = CredentialFormat;
|
32
|
-
const CredentialClaim = z.object({
|
33
|
-
mandatory: z.boolean(),
|
34
|
-
display: z.array(CredentialClaimDisplay)
|
35
|
-
});
|
36
|
-
exports.CredentialClaim = CredentialClaim;
|
37
|
-
const CredentialSdJwtClaims = z.record(CredentialClaim);
|
38
|
-
exports.CredentialSdJwtClaims = CredentialSdJwtClaims;
|
39
|
-
const CredentialConfigurationSupported = z.record(z.object({
|
40
|
-
cryptographic_suites_supported: z.array(z.string()),
|
41
|
-
vct: z.string().optional(),
|
42
|
-
scope: z.string().optional(),
|
43
|
-
cryptographic_binding_methods_supported: z.array(z.string()),
|
44
|
-
display: z.array(CredentialDisplay),
|
45
|
-
format: CredentialFormat,
|
46
|
-
claims: z.union([CredentialSdJwtClaims, z.record(z.string(), CredentialSdJwtClaims)]).optional()
|
47
|
-
}));
|
48
|
-
exports.CredentialConfigurationSupported = CredentialConfigurationSupported;
|
49
|
-
const CredentialIssuerKeys = z.object({
|
50
|
-
keys: z.array(_jwk.JWK)
|
51
|
-
});
|
52
|
-
exports.CredentialIssuerKeys = CredentialIssuerKeys;
|
53
|
-
const CredentialIssuerConfiguration = z.object({
|
54
|
-
credential_configurations_supported: CredentialConfigurationSupported,
|
55
|
-
pushed_authorization_request_endpoint: z.string(),
|
56
|
-
dpop_signing_alg_values_supported: z.array(z.string()),
|
57
|
-
jwks: CredentialIssuerKeys,
|
58
|
-
credential_issuer: z.string(),
|
59
|
-
authorization_endpoint: z.string(),
|
60
|
-
token_endpoint: z.string(),
|
61
|
-
credential_endpoint: z.string()
|
62
|
-
});
|
63
|
-
exports.CredentialIssuerConfiguration = CredentialIssuerConfiguration;
|
64
|
-
//# sourceMappingURL=types.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_jwk","require","z","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","CredentialDisplay","object","name","string","locale","logo","url","alt_text","optional","background_color","text_color","exports","CredentialClaimDisplay","CredentialFormat","union","literal","CredentialClaim","mandatory","boolean","display","array","CredentialSdJwtClaims","record","CredentialConfigurationSupported","cryptographic_suites_supported","vct","scope","cryptographic_binding_methods_supported","format","claims","CredentialIssuerKeys","keys","JWK","CredentialIssuerConfiguration","credential_configurations_supported","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","jwks","credential_issuer","authorization_endpoint","token_endpoint","credential_endpoint"],"sourceRoot":"../../../../../src","sources":["entity/openid-connect/issuer/types.ts"],"mappings":"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"}
|
@@ -1,122 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.renewTrustChain = renewTrustChain;
|
7
|
-
exports.validateTrustChain = validateTrustChain;
|
8
|
-
var _ioReactNativeJwt = require("@pagopa/io-react-native-jwt");
|
9
|
-
var _types = require("./types");
|
10
|
-
var _errors = require("../../utils/errors");
|
11
|
-
var z = _interopRequireWildcard(require("zod"));
|
12
|
-
var _ = require(".");
|
13
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
14
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
15
|
-
// Verify a token signature
|
16
|
-
// The kid is extracted from the token header
|
17
|
-
const verify = async (token, kid, jwks) => {
|
18
|
-
const jwk = jwks.find(k => k.kid === kid);
|
19
|
-
if (!jwk) {
|
20
|
-
throw new Error(`Invalid kid: ${kid}, token: ${token}`);
|
21
|
-
}
|
22
|
-
const {
|
23
|
-
protectedHeader: header,
|
24
|
-
payload
|
25
|
-
} = await (0, _ioReactNativeJwt.verify)(token, jwk);
|
26
|
-
return {
|
27
|
-
header,
|
28
|
-
payload
|
29
|
-
};
|
30
|
-
};
|
31
|
-
const decode = token => {
|
32
|
-
const {
|
33
|
-
protectedHeader: header,
|
34
|
-
payload
|
35
|
-
} = (0, _ioReactNativeJwt.decode)(token);
|
36
|
-
return {
|
37
|
-
header,
|
38
|
-
payload
|
39
|
-
};
|
40
|
-
};
|
41
|
-
|
42
|
-
// The first element of the chain is supposed to be the Entity Configuration for the document issuer
|
43
|
-
const FirstElementShape = _types.EntityConfiguration;
|
44
|
-
// Each element but the first is supposed to be an Entity Statement
|
45
|
-
const MiddleElementShape = _types.EntityStatement;
|
46
|
-
// The last element of the chain can either be an Entity Statement
|
47
|
-
// or the Entity Configuration for the known Trust Anchor
|
48
|
-
const LastElementShape = z.union([_types.EntityStatement, _types.TrustAnchorEntityConfiguration]);
|
49
|
-
|
50
|
-
/**
|
51
|
-
* Validates a provided trust chain against a known trust
|
52
|
-
*
|
53
|
-
* @param trustAnchorEntity The entity configuration of the known trust anchor
|
54
|
-
* @param chain The chain of statements to be validate
|
55
|
-
* @returns The list of parsed token representing the chain
|
56
|
-
* @throws {IoWalletError} If the chain is not valid
|
57
|
-
*/
|
58
|
-
async function validateTrustChain(trustAnchorEntity, chain) {
|
59
|
-
// If the chain is empty, fail
|
60
|
-
if (chain.length === 0) {
|
61
|
-
throw new _errors.IoWalletError("Cannot verify empty trust chain");
|
62
|
-
}
|
63
|
-
|
64
|
-
// Select the expected token shape
|
65
|
-
const selectTokenShape = elementIndex => elementIndex === 0 ? FirstElementShape : elementIndex === chain.length - 1 ? LastElementShape : MiddleElementShape;
|
66
|
-
|
67
|
-
// select the kid from the current index
|
68
|
-
const selectKid = currentIndex => {
|
69
|
-
const token = chain[currentIndex];
|
70
|
-
if (!token) {
|
71
|
-
throw new _errors.IoWalletError(`Cannot select kid: empty token`);
|
72
|
-
}
|
73
|
-
const shape = selectTokenShape(currentIndex);
|
74
|
-
return shape.parse(decode(token)).header.kid;
|
75
|
-
};
|
76
|
-
|
77
|
-
// select keys from the next token
|
78
|
-
// if the current token is the last, keys fro trust anchor will be used
|
79
|
-
const selectKeys = currentIndex => {
|
80
|
-
if (currentIndex === chain.length - 1) {
|
81
|
-
return trustAnchorEntity.payload.jwks.keys;
|
82
|
-
}
|
83
|
-
const nextIndex = currentIndex + 1;
|
84
|
-
const nextToken = chain[nextIndex];
|
85
|
-
if (!nextToken) {
|
86
|
-
throw new _errors.IoWalletError(`Cannot select keys: empty nextToken`);
|
87
|
-
}
|
88
|
-
const shape = selectTokenShape(nextIndex);
|
89
|
-
return shape.parse(decode(nextToken)).payload.jwks.keys;
|
90
|
-
};
|
91
|
-
|
92
|
-
// Iterate the chain and validate each element's signature against the public keys of its next
|
93
|
-
// If there is no next, hence it's the end of the chain and it must be verified by the Trust Anchor
|
94
|
-
return Promise.all(chain.map((token, i) => [token, selectKid(i), selectKeys(i)]).map(args => verify(...args)));
|
95
|
-
}
|
96
|
-
|
97
|
-
/**
|
98
|
-
* Given a trust chain, obtain a new trust chain by fetching each element's fresh version
|
99
|
-
*
|
100
|
-
* @param chain The original chain
|
101
|
-
* @param appFetch (optional) fetch api implementation
|
102
|
-
* @returns A list of signed token that reprensent the trust chain, in the same order of the provided chain
|
103
|
-
* @throws When an element of the chain fails to parse
|
104
|
-
*/
|
105
|
-
function renewTrustChain(chain) {
|
106
|
-
let appFetch = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : fetch;
|
107
|
-
return Promise.all(chain
|
108
|
-
// Decode each item to determine its shape
|
109
|
-
.map(decode).map(e => [_types.EntityStatement.safeParse(e), _types.EntityConfiguration.safeParse(e)])
|
110
|
-
// fetch the element according to its shape
|
111
|
-
.map((_ref, i) => {
|
112
|
-
let [es, ec] = _ref;
|
113
|
-
return ec.success ? (0, _.getSignedEntityConfiguration)(ec.data.payload.iss, {
|
114
|
-
appFetch
|
115
|
-
}) : es.success ? (0, _.getSignedEntityStatement)(es.data.payload.iss, es.data.payload.sub, {
|
116
|
-
appFetch
|
117
|
-
}) :
|
118
|
-
// if the element fail to parse in both EntityStatement and EntityConfiguration, raise an error
|
119
|
-
Promise.reject(new _errors.IoWalletError(`Cannot renew trust chain because the element #${i} failed to be parsed.`));
|
120
|
-
}));
|
121
|
-
}
|
122
|
-
//# sourceMappingURL=chain.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_ioReactNativeJwt","require","_types","_errors","z","_interopRequireWildcard","_","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","verify","token","kid","jwks","jwk","find","k","Error","protectedHeader","header","payload","verifyJwt","decode","decodeJwt","FirstElementShape","EntityConfiguration","MiddleElementShape","EntityStatement","LastElementShape","union","TrustAnchorEntityConfiguration","validateTrustChain","trustAnchorEntity","chain","length","IoWalletError","selectTokenShape","elementIndex","selectKid","currentIndex","shape","parse","selectKeys","keys","nextIndex","nextToken","Promise","all","map","i","args","renewTrustChain","appFetch","arguments","undefined","fetch","e","safeParse","_ref","es","ec","success","getSignedEntityConfiguration","data","iss","getSignedEntityStatement","sub","reject"],"sourceRoot":"../../../../src","sources":["entity/trust/chain.ts"],"mappings":"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"}
|
@@ -1,148 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.getEntityConfiguration = exports.getCredentialIssuerEntityConfiguration = void 0;
|
7
|
-
exports.getEntityStatement = getEntityStatement;
|
8
|
-
exports.getRelyingPartyEntityConfiguration = void 0;
|
9
|
-
exports.getSignedEntityConfiguration = getSignedEntityConfiguration;
|
10
|
-
exports.getSignedEntityStatement = getSignedEntityStatement;
|
11
|
-
exports.getWalletProviderEntityConfiguration = exports.getTrustAnchorEntityConfiguration = void 0;
|
12
|
-
exports.verifyTrustChain = verifyTrustChain;
|
13
|
-
var _ioReactNativeJwt = require("@pagopa/io-react-native-jwt");
|
14
|
-
var _types = require("./types");
|
15
|
-
var _chain = require("./chain");
|
16
|
-
var _misc = require("../../utils/misc");
|
17
|
-
/**
|
18
|
-
* Verify a given trust chain is actually valid.
|
19
|
-
* It can handle fast chain renewal, which means we try to fetch a fresh version of each statement.
|
20
|
-
*
|
21
|
-
* @param trustAnchorEntity The entity configuration of the known trust anchor
|
22
|
-
* @param chain The chain of statements to be validate
|
23
|
-
* @param options.renewOnFail Whether to renew the provided chain if the validation fails at first. Default: true
|
24
|
-
* @param options.appFetch Fetch api implementation. Default: the built-in implementation
|
25
|
-
* @returns The result of the chain validation
|
26
|
-
* @throws {IoWalletError} When either validation or renewal fail
|
27
|
-
*/
|
28
|
-
async function verifyTrustChain(trustAnchorEntity, chain) {
|
29
|
-
let {
|
30
|
-
appFetch = fetch,
|
31
|
-
renewOnFail = true
|
32
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
33
|
-
try {
|
34
|
-
return (0, _chain.validateTrustChain)(trustAnchorEntity, chain);
|
35
|
-
} catch (error) {
|
36
|
-
if (renewOnFail) {
|
37
|
-
const renewedChain = await (0, _chain.renewTrustChain)(chain, appFetch);
|
38
|
-
return (0, _chain.validateTrustChain)(trustAnchorEntity, renewedChain);
|
39
|
-
} else {
|
40
|
-
throw error;
|
41
|
-
}
|
42
|
-
}
|
43
|
-
}
|
44
|
-
|
45
|
-
/**
|
46
|
-
* Fetch the signed entity configuration token for an entity
|
47
|
-
*
|
48
|
-
* @param entityBaseUrl The url of the entity to fetch
|
49
|
-
* @param param.appFetch (optional) fetch api implemention
|
50
|
-
* @returns The signed Entity Configuration token
|
51
|
-
*/
|
52
|
-
async function getSignedEntityConfiguration(entityBaseUrl) {
|
53
|
-
let {
|
54
|
-
appFetch = fetch
|
55
|
-
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
56
|
-
const wellKnownUrl = `${entityBaseUrl}/.well-known/openid-federation`;
|
57
|
-
return await appFetch(wellKnownUrl, {
|
58
|
-
method: "GET"
|
59
|
-
}).then((0, _misc.hasStatusOrThrow)(200)).then(res => res.text());
|
60
|
-
}
|
61
|
-
|
62
|
-
/**
|
63
|
-
* Fetch and parse the entity configuration document for a given federation entity.
|
64
|
-
* This is an inner method to serve public interfaces.
|
65
|
-
*
|
66
|
-
* To add another entity configuration type (example: Foo entity type):
|
67
|
-
* - create its zod schema and type by inherit from the base type (example: FooEntityConfiguration = BaseEntityConfiguration.and(...))
|
68
|
-
* - add such type to EntityConfiguration union
|
69
|
-
* - add an overload to this function
|
70
|
-
* - create a public function which use such type (example: getFooEntityConfiguration = (url, options) => Promise<FooEntityConfiguration>)
|
71
|
-
*
|
72
|
-
* @param entityBaseUrl The base url of the entity.
|
73
|
-
* @param schema The expected schema of the entity configuration, according to the kind of entity we are fetching from.
|
74
|
-
* @param options.appFetch An optional instance of the http client to be used.
|
75
|
-
* @returns The parsed entity configuration object
|
76
|
-
* @throws {IoWalletError} If the http request fails
|
77
|
-
* @throws Parse error if the document is not in the expected shape.
|
78
|
-
*/
|
79
|
-
|
80
|
-
async function fetchAndParseEntityConfiguration(entityBaseUrl, schema) {
|
81
|
-
let {
|
82
|
-
appFetch = fetch
|
83
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
84
|
-
const responseText = await getSignedEntityConfiguration(entityBaseUrl, {
|
85
|
-
appFetch
|
86
|
-
});
|
87
|
-
const responseJwt = (0, _ioReactNativeJwt.decode)(responseText);
|
88
|
-
return schema.parse({
|
89
|
-
header: responseJwt.protectedHeader,
|
90
|
-
payload: responseJwt.payload
|
91
|
-
});
|
92
|
-
}
|
93
|
-
const getWalletProviderEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.WalletProviderEntityConfiguration, options);
|
94
|
-
exports.getWalletProviderEntityConfiguration = getWalletProviderEntityConfiguration;
|
95
|
-
const getCredentialIssuerEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.CredentialIssuerEntityConfiguration, options);
|
96
|
-
exports.getCredentialIssuerEntityConfiguration = getCredentialIssuerEntityConfiguration;
|
97
|
-
const getTrustAnchorEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.TrustAnchorEntityConfiguration, options);
|
98
|
-
exports.getTrustAnchorEntityConfiguration = getTrustAnchorEntityConfiguration;
|
99
|
-
const getRelyingPartyEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.RelyingPartyEntityConfiguration, options);
|
100
|
-
exports.getRelyingPartyEntityConfiguration = getRelyingPartyEntityConfiguration;
|
101
|
-
const getEntityConfiguration = (entityBaseUrl, options) => fetchAndParseEntityConfiguration(entityBaseUrl, _types.EntityConfiguration, options);
|
102
|
-
|
103
|
-
/**
|
104
|
-
* Fetch and parse the entity statement document for a given federation entity.
|
105
|
-
*
|
106
|
-
* @param accreditationBodyBaseUrl The base url of the accreditaion body which holds and signs the required entity statement
|
107
|
-
* @param subordinatedEntityBaseUrl The url that identifies the subordinate entity
|
108
|
-
* @param options.appFetch An optional instance of the http client to be used.
|
109
|
-
* @returns The parsed entity configuration object
|
110
|
-
* @throws {IoWalletError} If the http request fails
|
111
|
-
* @throws Parse error if the document is not in the expected shape.
|
112
|
-
*/
|
113
|
-
exports.getEntityConfiguration = getEntityConfiguration;
|
114
|
-
async function getEntityStatement(accreditationBodyBaseUrl, subordinatedEntityBaseUrl) {
|
115
|
-
let {
|
116
|
-
appFetch = fetch
|
117
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
118
|
-
const responseText = await getSignedEntityStatement(accreditationBodyBaseUrl, subordinatedEntityBaseUrl, {
|
119
|
-
appFetch
|
120
|
-
});
|
121
|
-
const responseJwt = (0, _ioReactNativeJwt.decode)(responseText);
|
122
|
-
return _types.EntityStatement.parse({
|
123
|
-
header: responseJwt.protectedHeader,
|
124
|
-
payload: responseJwt.payload
|
125
|
-
});
|
126
|
-
}
|
127
|
-
|
128
|
-
/**
|
129
|
-
* Fetch the entity statement document for a given federation entity.
|
130
|
-
*
|
131
|
-
* @param accreditationBodyBaseUrl The base url of the accreditaion body which holds and signs the required entity statement
|
132
|
-
* @param subordinatedEntityBaseUrl The url that identifies the subordinate entity
|
133
|
-
* @param options.appFetch An optional instance of the http client to be used.
|
134
|
-
* @returns The signed entity statement token
|
135
|
-
* @throws {IoWalletError} If the http request fails
|
136
|
-
*/
|
137
|
-
async function getSignedEntityStatement(accreditationBodyBaseUrl, subordinatedEntityBaseUrl) {
|
138
|
-
let {
|
139
|
-
appFetch = fetch
|
140
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
141
|
-
const url = `${accreditationBodyBaseUrl}/fetch?${new URLSearchParams({
|
142
|
-
sub: subordinatedEntityBaseUrl
|
143
|
-
})}`;
|
144
|
-
return await appFetch(url, {
|
145
|
-
method: "GET"
|
146
|
-
}).then((0, _misc.hasStatusOrThrow)(200)).then(res => res.text());
|
147
|
-
}
|
148
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_ioReactNativeJwt","require","_types","_chain","_misc","verifyTrustChain","trustAnchorEntity","chain","appFetch","fetch","renewOnFail","arguments","length","undefined","validateTrustChain","error","renewedChain","renewTrustChain","getSignedEntityConfiguration","entityBaseUrl","wellKnownUrl","method","then","hasStatusOrThrow","res","text","fetchAndParseEntityConfiguration","schema","responseText","responseJwt","decodeJwt","parse","header","protectedHeader","payload","getWalletProviderEntityConfiguration","options","WalletProviderEntityConfiguration","exports","getCredentialIssuerEntityConfiguration","CredentialIssuerEntityConfiguration","getTrustAnchorEntityConfiguration","TrustAnchorEntityConfiguration","getRelyingPartyEntityConfiguration","RelyingPartyEntityConfiguration","getEntityConfiguration","EntityConfiguration","getEntityStatement","accreditationBodyBaseUrl","subordinatedEntityBaseUrl","getSignedEntityStatement","EntityStatement","url","URLSearchParams","sub"],"sourceRoot":"../../../../src","sources":["entity/trust/index.ts"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_types","require","_jwk","z","_interopRequireWildcard","_types2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","TrustMark","object","id","string","trust_mark","exports","RelyingPartyMetadata","application_type","optional","client_id","client_name","jwks","keys","array","JWK","contacts","presentation_definition","PresentationDefinition","presentation_definition_uri","CredentialDisplayMetadata","name","locale","logo","url","alt_text","background_color","text_color","CredentialIssuerDisplayMetadata","ClaimsMetadata","record","value_type","display","IssuanceErrorSupported","title","description","SupportedCredentialMetadata","format","union","literal","scope","claims","cryptographic_binding_methods_supported","credential_signing_alg_values_supported","authentic_source","issuance_errors_supported","EntityStatement","header","typ","alg","kid","payload","iss","sub","trust_marks","iat","number","exp","EntityConfigurationHeader","FederationEntityMetadata","federation_fetch_endpoint","federation_list_endpoint","federation_resolve_endpoint","federation_trust_mark_status_endpoint","federation_trust_mark_list_endpoint","organization_name","homepage_uri","policy_uri","logo_uri","passthrough","BaseEntityConfiguration","UnixTime","authority_hints","metadata","federation_entity","TrustAnchorEntityConfiguration","CredentialIssuerEntityConfiguration","and","openid_credential_issuer","credential_issuer","credential_endpoint","revocation_endpoint","status_attestation_endpoint","credential_configurations_supported","oauth_authorization_server","authorization_endpoint","pushed_authorization_request_endpoint","dpop_signing_alg_values_supported","token_endpoint","introspection_endpoint","client_registration_types_supported","code_challenge_methods_supported","authorization_details_types_supported","acr_values_supported","grant_types_supported","issuer","scopes_supported","request_parameter_supported","boolean","request_uri_parameter_supported","response_types_supported","response_modes_supported","subject_types_supported","token_endpoint_auth_methods_supported","token_endpoint_auth_signing_alg_values_supported","request_object_signing_alg_values_supported","wallet_relying_party","RelyingPartyEntityConfiguration","WalletProviderEntityConfiguration","wallet_provider","aal_values_supported","EntityConfiguration"],"sourceRoot":"../../../../src","sources":["entity/trust/types.ts"],"mappings":"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"}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.extractElementValueAsDate = extractElementValueAsDate;
|
7
|
-
/**
|
8
|
-
* Extracts the date value of a given elementIdentifier from an MDOC object.
|
9
|
-
* Searches through the issuerSigned namespaces and attempts to parse the value as a Date.
|
10
|
-
* The expected date format is "DD-MM-YYYY".
|
11
|
-
* Returns the Date object if found, otherwise returns null.
|
12
|
-
*/
|
13
|
-
function extractElementValueAsDate(elementValue) {
|
14
|
-
if (typeof elementValue === "string") {
|
15
|
-
const dateParts = elementValue.split("-");
|
16
|
-
if (dateParts.length === 3) {
|
17
|
-
const [day, month, year] = dateParts.map(part => Number(part));
|
18
|
-
if (day !== undefined && month !== undefined && year !== undefined && !isNaN(day) && !isNaN(month) && !isNaN(year)) {
|
19
|
-
return new Date(year, month - 1, day); // Month is zero-based in JS Date
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
|
24
|
-
return null; // Return null if no matching element is found or it's not a valid date
|
25
|
-
}
|
26
|
-
//# sourceMappingURL=converters.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["extractElementValueAsDate","elementValue","dateParts","split","length","day","month","year","map","part","Number","undefined","isNaN","Date"],"sourceRoot":"../../../src","sources":["mdoc/converters.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,yBAAyBA,CAACC,YAAoB,EAAe;EAC3E,IAAI,OAAOA,YAAY,KAAK,QAAQ,EAAE;IACpC,MAAMC,SAAS,GAAGD,YAAY,CAACE,KAAK,CAAC,GAAG,CAAC;IACzC,IAAID,SAAS,CAACE,MAAM,KAAK,CAAC,EAAE;MAC1B,MAAM,CAACC,GAAG,EAAEC,KAAK,EAAEC,IAAI,CAAC,GAAGL,SAAS,CAACM,GAAG,CAAEC,IAAI,IAAKC,MAAM,CAACD,IAAI,CAAC,CAAC;MAChE,IACEJ,GAAG,KAAKM,SAAS,IACjBL,KAAK,KAAKK,SAAS,IACnBJ,IAAI,KAAKI,SAAS,IAClB,CAACC,KAAK,CAACP,GAAG,CAAC,IACX,CAACO,KAAK,CAACN,KAAK,CAAC,IACb,CAACM,KAAK,CAACL,IAAI,CAAC,EACZ;QACA,OAAO,IAAIM,IAAI,CAACN,IAAI,EAAED,KAAK,GAAG,CAAC,EAAED,GAAG,CAAC,CAAC,CAAC;MACzC;IACF;EACF;;EAEA,OAAO,IAAI,CAAC,CAAC;AACf"}
|
@@ -1,68 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
4
|
-
value: true
|
5
|
-
});
|
6
|
-
exports.verify = exports.prepareVpTokenMdoc = void 0;
|
7
|
-
var _ioReactNativeCbor = require("@pagopa/io-react-native-cbor");
|
8
|
-
var _jsrsasign = require("jsrsasign");
|
9
|
-
var _crypto = require("../utils/crypto");
|
10
|
-
var _string = require("../utils/string");
|
11
|
-
const verify = async (token, _) => {
|
12
|
-
var _issuerSigned$issuerA;
|
13
|
-
// get decoded data
|
14
|
-
const issuerSigned = await _ioReactNativeCbor.CBOR.decodeIssuerSigned(token);
|
15
|
-
if (!issuerSigned) {
|
16
|
-
throw new Error("Invalid mDoc");
|
17
|
-
}
|
18
|
-
const cert = (_issuerSigned$issuerA = issuerSigned.issuerAuth.unprotectedHeader[0]) === null || _issuerSigned$issuerA === void 0 || (_issuerSigned$issuerA = _issuerSigned$issuerA.x5chain) === null || _issuerSigned$issuerA === void 0 ? void 0 : _issuerSigned$issuerA[0];
|
19
|
-
if (!cert) throw new Error("Certificate not present in credential");
|
20
|
-
const pemcert = (0, _crypto.convertCertToPem)((0, _jsrsasign.b64utob64)(cert));
|
21
|
-
const publickey = (0, _crypto.parsePublicKey)(pemcert);
|
22
|
-
if (!publickey) throw new Error("Certificate not present in credential");
|
23
|
-
const jwk = (0, _crypto.getSigningJwk)(publickey);
|
24
|
-
jwk.x = (0, _jsrsasign.b64utob64)(jwk.x);
|
25
|
-
jwk.y = (0, _jsrsasign.b64utob64)(jwk.y);
|
26
|
-
const signatureCorrect = await _ioReactNativeCbor.COSE.verify((0, _jsrsasign.b64utob64)(issuerSigned.issuerAuth.rawValue), jwk).catch(() => false);
|
27
|
-
if (!signatureCorrect) throw new Error("Invalid mDoc signature");
|
28
|
-
return {
|
29
|
-
issuerSigned
|
30
|
-
};
|
31
|
-
};
|
32
|
-
exports.verify = verify;
|
33
|
-
const prepareVpTokenMdoc = async (requestNonce, generatedNonce, clientId, responseUri, docType, keyTag, _ref) => {
|
34
|
-
let [verifiableCredential, requestedClaims, _] = _ref;
|
35
|
-
/* verifiableCredential is a IssuerSigned structure */
|
36
|
-
const documents = [{
|
37
|
-
issuerSignedContent: verifiableCredential,
|
38
|
-
alias: keyTag,
|
39
|
-
docType
|
40
|
-
}];
|
41
|
-
|
42
|
-
/* we map each requested claim as for ex. { "org.iso.18013.5.1.mDL": { "org.iso.18013.5.1": { <claim-name>: true, ... }}} for selective disclosure */
|
43
|
-
const fieldRequestedAndAccepted = JSON.stringify({
|
44
|
-
[docType]: requestedClaims.reduce((acc, _ref2) => {
|
45
|
-
let {
|
46
|
-
name,
|
47
|
-
namespace
|
48
|
-
} = _ref2;
|
49
|
-
if (namespace) {
|
50
|
-
acc[namespace] ??= {};
|
51
|
-
const existingNamespace = acc[namespace];
|
52
|
-
existingNamespace[name] = true;
|
53
|
-
} else {
|
54
|
-
acc[name] = true;
|
55
|
-
}
|
56
|
-
return acc;
|
57
|
-
}, {})
|
58
|
-
});
|
59
|
-
|
60
|
-
/* clientId,responseUri,requestNonce are retrieved by Auth Request Object */
|
61
|
-
/* create DeviceResponse as { documents: { docType, issuerSigned, deviceSigned }, version, status } */
|
62
|
-
const vp_token = await _ioReactNativeCbor.ISO18013.generateOID4VPDeviceResponse(clientId, responseUri, requestNonce, generatedNonce, documents, fieldRequestedAndAccepted);
|
63
|
-
return {
|
64
|
-
vp_token: (0, _string.base64ToBase64Url)(vp_token)
|
65
|
-
};
|
66
|
-
};
|
67
|
-
exports.prepareVpTokenMdoc = prepareVpTokenMdoc;
|
68
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["_ioReactNativeCbor","require","_jsrsasign","_crypto","_string","verify","token","_","_issuerSigned$issuerA","issuerSigned","CBOR","decodeIssuerSigned","Error","cert","issuerAuth","unprotectedHeader","x5chain","pemcert","convertCertToPem","b64utob64","publickey","parsePublicKey","jwk","getSigningJwk","x","y","signatureCorrect","COSE","rawValue","catch","exports","prepareVpTokenMdoc","requestNonce","generatedNonce","clientId","responseUri","docType","keyTag","_ref","verifiableCredential","requestedClaims","documents","issuerSignedContent","alias","fieldRequestedAndAccepted","JSON","stringify","reduce","acc","_ref2","name","namespace","existingNamespace","vp_token","ISO18013","generateOID4VPDeviceResponse","base64ToBase64Url"],"sourceRoot":"../../../src","sources":["mdoc/index.ts"],"mappings":"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"}
|