w3c / vc-jose-cose

Verifiable Credentials Working Group — VC JSON Web Tokens specification
https://w3c.github.io/vc-jose-cose/
Other
30 stars 9 forks source link

Which context file maps json web keys? #228

Closed iherman closed 6 months ago

iherman commented 6 months ago

Example 12 (and possibly others) is invalid, because the JsonWebKey and publicKeyJwk terms are not defined by the two context files listed in the example (https://www.w3.org/ns/did/v1, https://www.w3.org/ns/credentials/v2).

I also checked the security vocabulary's context (https://w3id.org/security#) and it is not there either. Although these terms are properly defined in the DI vocabulary, it is as if no context file we have deals with them.

Isn't this odd? Shouldn't JsonWebKey and related terms be mentioned in one of the context files? Or should we create a new context file for them?

@dlongley @msporny @decentralgabe

msporny commented 6 months ago

Example 12 (and possibly others) is invalid, because the JsonWebKey and publicKeyJwk terms are not defined by the two context files listed in the example (https://www.w3.org/ns/did/v1, https://www.w3.org/ns/credentials/v2).

Yes, ideally a did/v2 context would include both. Until then, we'll have to pull the appropriate context in...

I also checked the security vocabulary's context (https://w3id.org/security#) and it is not there either.

Hmm... isn't this it? https://w3c.github.io/vc-data-integrity/vocab/security/vocabulary.html#JsonWebKey

Although these terms are properly defined in the DI vocabulary, it is as if no context file we have deals with them.

There is:

https://github.com/w3c/vc-data-integrity/blob/main/contexts/jwk/v1

Shouldn't JsonWebKey and related terms be mentioned in one of the context files? Or should we create a new context file for them?

did/v2 should include both key contexts... but that won't happen for another year or two. :)

In the meantime, people should include the context that defines JsonWebKey (see above).

iherman commented 6 months ago

Example 12 (and possibly others) is invalid, because the JsonWebKey and publicKeyJwk terms are not defined by the two context files listed in the example (https://www.w3.org/ns/did/v1, https://www.w3.org/ns/credentials/v2).

Yes, ideally a did/v2 context would include both. Until then, we'll have to pull the appropriate context in...

I also checked the security vocabulary's context (https://w3id.org/security#) and it is not there either.

Hmm... isn't this it? https://w3c.github.io/vc-data-integrity/vocab/security/vocabulary.html#JsonWebKey

That is the vocabulary. I meant the "vocabulary context", ie, https://w3id.org/security/data-integrity/v2. Sorry about the typo.

Although these terms are properly defined in the DI vocabulary, it is as if no context file we have deals with them.

There is:

https://github.com/w3c/vc-data-integrity/blob/main/contexts/jwk/v1

Ah. I did not know about this one! Where is it mentioned in the spec(s)? Shouldn't it? What is its "canonical" adress? Shouldn't it be something like https://w3id.org/security/data-integrity/jwk?

I presume the reason why it is not merged into the DI context is to avoid the (impression of) dependency of JOSE-COSE on DI...

Shouldn't JsonWebKey and related terms be mentioned in one of the context files? Or should we create a new context file for them?

did/v2 should include both key contexts... but that won't happen for another year or two. :)

In the meantime, people should include the context that defines JsonWebKey (see above).

O.k. Then the example (and others) should definitely be extended.

iherman commented 6 months ago

Ah. I did not know about this one! Where is it mentioned in the spec(s)? Shouldn't it? What is its "canonical" adress? Shouldn't it be something like https://w3id.org/security/data-integrity/jwk?

I presume the reason why it is not merged into the DI context is to avoid the (impression of) dependency of JOSE-COSE on DI...

Oops, sorry, I found it. The context is https://w3id.org/security/jwk/v1 and it is listed in https://www.w3.org/TR/vc-data-integrity/#contexts-and-vocabularies.