Open decentralgabe opened 2 years ago
Lets check after https://github.com/decentralized-identity/JWS-Test-Suite/actions/runs/2017273429 we still need to fix on our side.
We are still tracking support for a fix for this here: https://github.com/transmute-industries/verifiable-data/issues/123
@OR13 the action has run and is now a green dot!
Since #57 changed credential-0's credentialSubject to contain a foo
property instead of being empty, the JWT payload referenced here now does not contain "sub": {}
but instead contains "sub":{"foo":"bar"}
. e.g. in the following.
https://github.com/decentralized-identity/JWS-Test-Suite/blob/8be234d31ea631d634e672defb1fa67ca501e402/implementations/transmute/credential-0--key-0-ed25519.vc-jwt.json
Edit: I updated https://github.com/transmute-industries/verifiable-data/issues/123#issue-1055180322 to reflect this.
@OR13 Can you clarify if this is an error? As quoted in the initial post on this issue, RFC 7519 states:
The "sub" value is a case-sensitive string containing a StringOrURI value. Use of this claim is OPTIONAL.
which lead us to also error on "sub": {}
in our implementation. Now the question is whether the test vector is incorrect. Since the transmute implementation is authoritative according to the README, it'd be good to clarify this.
On a related note, the test vector also encodes nbf
as 1609529004
while the issuanceDate
on credential-0.json is "2022-03-19T15:20:55Z"
, which is 1647703255
as a unix timestamp.
v2 of the data model says that is invalid.
I am not planning to port any fixes related to v1.1... I think its not worth implementing.
I am planning to only implement / maintain support for vc-jwt 2.0
see this spec:
We started this test suite:
https://github.com/transmute-industries/vc-jwt-test-suite
Plan is to get the VCWG to adopt it... its based on the work we did in this repo... which we don't plan to maintain at this point.
https://github.com/decentralized-identity/JWS-Test-Suite/blob/main/data/implementations/transmute/credential-0--key-0-ed25519.vc-jwt.json#L2
"sub": {},
is present in the decoded JWTThe widely used go library for JWX breaks on the empty property which it claims is invalid.
The JWT RFC shows
Notably, the
spruce
impl does not include this property.I'm curious if it's something that should be supported (and a bug with the lib), or if it is really invalid.