W3C home > Mailing lists > Public > public-credentials@w3.org > April 2021

Can I only use JsonWebKey2020 with NIST approved curves like P-256 in the specification?

From: Brent Shambaugh <brent.shambaugh@gmail.com>
Date: Fri, 23 Apr 2021 17:02:31 -0500
Message-ID: <CACvcBVoSsHU5R=NLZCNu0fcqBzHVrM4hQ5Te-nGhq6ttJVoudw@mail.gmail.com>
To: Credentials Community Group <public-credentials@w3.org>
I have this for a NIST approved curve in my DID document:

    "publicKeyJwk":  {
          "crv": "P-256",
          "kty": "EC",
          "x": "u-cNviWRiM3i9wGjUvOB-0XyPpIb5rAwmE8o8jDBte7Y",
          "y": "uHNNnF7isXk_qitI9yNB4PCMY7krXqA224AJq0LByok8",
        },
        "type": "JsonWebKey2020"

I thought that nist based keys like P-256, p-384, and p-521 did not have a
supported name type so one had to use the  catch all JsonWebKey2020. I
cannot remember if there is a link.

I'm trying to replicate my reasoning. I believe I looked at:
https://www.w3.org/TR/did-spec-registries/ ,
https://github.com/w3c/did-spec-registries/blob/main/cddl/verificationMethodTypes.cddl
,

https://github.com/transmute-industries/did-key.js/blob/e0b4facde18691f914bb184dbb64e678601f0a88/packages/test-vectors/src/did-core-conformance/p-256/p-256.json#L23-L29
, and perhaps several others
and concluded that I could not match the a type property with a
publicKeyBase58 encoded key .


The earlier Transmute commit uses "type": "UnsupportedVerificationMethod2020
"  in conjunction with a publicKeyBase58 encoding. I take it that Orie is a
significant driver in the specification, so he would be in the know.

For the record the new version of this file no longer contains this block
of code
https://github.com/transmute-industries/did-key.js/blob/master/packages/test-vectors/src/did-core-conformance/p-256/p-256.json
.

https://tools.ietf.org/html/rfc7517#section-3 told me that I could express
a publicKeyJwk key as a P-256 key. This was supported by JsonWebKey2020.
There may have been another place that I read that p-256 was only supported
by
JsonWebKey2020.

Am I correct that I can only use JsonWebKey2020 and Json web keys? Not
JsonWebKey2020  or some mystery type and publickeybase58 based on the
specification?

Thanks for your time, i

-Brent Shambaugh

GitHub: https://github.com/bshambaugh
Website: http://bshambaugh.org/
LinkedIN: https://www.linkedin.com/in/brent-shambaugh-9b91259
Skype: brent.shambaugh
Twitter: https://twitter.com/Brent_Shambaugh
WebID: http://bshambaugh.org/foaf.rdf#me
Received on Friday, 23 April 2021 22:02:56 UTC

This archive was generated by hypermail 2.4.0 : Friday, 23 April 2021 22:02:58 UTC