w3c-ccg / did-method-key

DID (Decentralized Identifier) did:key method for embedding keys in DID urls
https://w3c-ccg.github.io/did-method-key
Other
18 stars 12 forks source link

Add normative statements for DID Document creation algorithm. #51

Closed msporny closed 2 years ago

msporny commented 2 years ago

Many of the implementations we have today have guessed on the particular algorithm to create a did:key-based DID Document (and gotten it right for the most part). Now that we're working on a continuous integration test suite for the did:key method, we need finalized normative statements to ensure multi-implementation interoperability.

This PR adds the normative statements for the DID Document creation algorithm. The algorithm takes options as an input, such as the desired public key format, to modify the final DID Document that is output.

Look at the "Diff" below -- highlighted yellow sections are new content. It's not fully complete yet -- wording could be improved, the JWK transformation section still needs to be written, but I hope to do that (or ideally, others that have implemented that) to do that in another PR.


Preview | Diff

mprorock commented 2 years ago

Overall, I'm in support of this PR, and many of my comments are exploratory not obstructing.

The ones comment that I believe needs addressing is:

https://github.com/w3c-ccg/did-method-key/pull/51/files#r895690838

Very much inline with Orie on this one.

msporny commented 2 years ago

@OR13 wrote:

Overall, I'm in support of this PR, and many of my comments are exploratory not obstructing.

Thanks for the thorough review. I've responded to all of your comments and will make changes in my next pass on this PR.

@mprorock wrote:

Let's avoid context changes unless we have clear context generation requirements.

Yep, will provide clear generation requirements in a revision to this PR as noted here.

Would also like to see JWKs handled a little better as a first class citizen (but i think this can probably be done in a follow on PR)

Yep, responded to that comment here.

OR13 commented 2 years ago

Reviewed responses, waiting on new commits to see feedback (either adding issues inline, or implementing feedback inline).

OR13 commented 2 years ago

https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf

Maybe these can help address key size.

msporny commented 2 years ago

@msporny want a separate PR around key material handling?

All PRs welcome. :)

I don't know what you mean wrt. "key material handling"? If you mean, "I'm going to write the JWK section", then yes, please.

If you mean something else helpful, yes, please. :)

msporny commented 2 years ago

Multiple positive reviews, comments made and suggestions applied, no objections, merging.