-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JWT encoding #809
Comments
I've not had enough implementation experience directly with JWT based VCs to help out on this one. @OR13 is this something that you might be able to help out with? |
I am happy to help, I've got some strong opinions on where JOSE should be respected, and where it should be hands off defining how a VC looks. Of particular interest is JOSE support for multi message proofs, specifically to support BLS12381 and Merkle Proofs. |
Discussions in the OIDC group indicated that if a user has multiple credentials from multiple issuers, with different DIDs identifying him/her in each one, and the claims request them all be presented, then multiple JWT VPs will need to be created, one VP per VC. This is because a JWT can only have a single signature proving ownership of one DID. |
Presenting claims (from multiple VCs) about multiple DIDs, where all the DIDs identify the same entity, would seem to be a major privacy issue which should be warned about, if nothing else. |
One question that still keeps confusing implementers is whether to use Of course this has been discussed quite a bit in the WG, but I don't think it's clear for implementers. |
Its helpful to be able to prove something at a time, and also say when it will be valid to use the proof...
... at least as I would hope for them to be interpreted.... Note the directionality is important... we must map from a common data model to and from a serialization, and not confuse the two by trying to pretend the serialization is the data model... the VC Data Model is useful without JWT / JWS... just like JWT / JWS are useful without the VC Data Model. |
There is no proof property in JWT VCs (even though I preferred that there had been). So we cannot do the third of your mappings. So I suggest that issuanceDate maps into both nbf and iat. |
@David-Chadwick then there will be no way to "use VC-JWT for a post dated check"... which seems pretty sad... and also like a way of limiting use cases by assuming a serialization is more important than the data model... IMO a valid use case for VC-JWT would be a "post dated check"... with |
@OR13 I don't disagree with you. If Manu had not rejected the idea of all VCs having a proof property (which I advocated) then this could have been solved by having a proof property for JWT signed VCs. I am happy to support this in V2 of the standard, but it is a breaking change. |
There are also the https://www.w3.org/TR/vc-data-model/#issuance-date With those properties, the mappings would be:
|
Thanks @dlongley. This solves the issue in the next breaking change of the standard. We can put a note in v1.1 to say that this is what will be anticipated in a future version |
PR #828 has been produced to address the JWT ambiguities issue in v1.1 (clarifications only and no breaking changes)so as yet it does not contain any changes to the time stamps. |
The issue was discussed in a meeting on 2021-10-27
View the transcript2.12. JWT encoding (issue vc-data-model#809)See github issue vc-data-model#809. Manu Sporny: but these changes look a tiny bit normativeA?. Kyle Den Hartog: I think we should discuss it on a call in more detail, this is hard to understand across all the requested changes.... Brent Zundel: it sounds like there are editorial changes this issue could track, and also normative changes that should wait for v2. |
I believe this has been addressed by the existence of a JWT-VC deliverable in a rechartered VC WG. |
No response since marked |
This is a placeholder to ensure that any ambiguities in how to create JWT encoded verifiable credentials and verifiable presentations from credentials and presentations respectively are removed in V1.1. This issue has been raised with the DIF, the OIDF, as well as the VC WG so that everyone with experience in JWT encoding can say where their implementation issues arose.
The text was updated successfully, but these errors were encountered: