-
Notifications
You must be signed in to change notification settings - Fork 92
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add support for presentment of SD-JWT VCs via the W3C DC API.
This is a complicated change with several steps: - Rename Claim, MdocClaim, VcClaim in the request package to RequestedClaim, RequestedMdocClaim, RequestedVcClaim to better reflect it's used for a request (no value is provided) and to free up these names. - Introduce Claim, MdocClaim, VcClaim which is used to model the claims / data elements in a credential. - Add new Credential.getClaims() method to get all the claims in a credential. This involves requiring each concrete Credential subclass to specify how issuer-provided data is formatted b/c getClaims() now depends on it. We already have this for SD-JWT, add this for ISO mdoc and make it so it's the same format as used in OpenID4VCI: IssuerSigned CBOR according to ISO/IEC 18013-5:2021. This makes Credential and SecureAreaBoundCredential abstract so update unit tests for this. - To make it easier to work with IssuerSigned CBOR, introduce new class IssuerNamespaces, IssuerNamespacesBuilder, and IssuerSignedItem classes and add support for this in DocumentGenerator and MobileSecurityObjectGenerator. - Extend DocumentType.addAttribute() to take different values for ISO mdoc and VC sample values. - This allows us to now remove nameSpacedData from DocumentMetadata. - Add new RenderClaimValue() composable to render a MdocClaim / VcClaim - Add new screens in testapp (DocumentViewerScreen, CredentialViewerScreen, CredentialClaimsViewerScreen) to show docouments, credentials, and claims. - Use this new machinery for presentment and exporting to the W3C DC API for both ISO mdoc and IETF SD-JWT credentials. - Update Credman matcher to support IETF SD-JWT credentials. - Update EUPersonalID to latest ARF (version 1.5) - Make DrivingLicense mdoc-only (according to ARF it should only be a mdoc) - Update JsonWebEncryption.encrypt to take APU and APV as strings. Test: Manually tested (both samples/testapp and wallet module) Test: New unit tests and all unit tests pass. Signed-off-by: David Zeuthen <[email protected]>
- Loading branch information
Showing
95 changed files
with
3,041 additions
and
940 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file modified
BIN
+12.6 KB
(110%)
identity-appsupport/src/androidMain/assets/identitycredentialmatcher.wasm
Binary file not shown.
Oops, something went wrong.