Re: Regarding Multiple signature schemes

Excellent question.

1st, DID Documents are JSON-LD, so there is a context like:

https://gist.github.com/OR13/8af67a0055a4b093bf7ecd9e7f3d92dc

For the public key type to be valid it needs to be defined somewhere in:

"@context": [
    "https://schema.org/",
    "https://w3id.org/security/v1",
    "https://w3id.org/did/v1"
  ]

If the context does not define your public key type, JSON-LD handling of
your DID Document will be incorrect.

In the example I provided the following public key types are NOT supported:
publicKeyHex, publicKeyJwk, publicKeyPgp.

You can resolve this issue by opening pull requests to get them added,
hosting your own JSON-LD context which defines them, or using a
documentLoader to fake their existence in an existing context like
https://w3id.org/did/v1...

Assuming that you have solved this first challenge.

Next you need to decide if you are using JOSE or JSON-LD.

If you are using JOSE then you are responsible for using a resolver to
obtain the correct public key, ensuring its in the correct format, possibly
by converting it first, and then verifying / signing with it.

Same goes for JSON-LD, but you probably just want to use a library to do
all of this for you:

I wrote this a little while ago to try and clarify these exact issues for
secp256k1:
https://github.com/decentralized-identity/lds-ecdsa-secp256k1-2019.js

Here is a demo of verifying both JSON-LD and JWS:
https://identity.foundation/lds-ecdsa-secp256k1-2019.js/demo/

If you only care about JSON-LD, this library is probably a better place to
get the hang of this: https://github.com/digitalbazaar/jsonld-signatures

OS




On Mon, Sep 16, 2019 at 8:15 AM sethi shivam <sethishivam27@gmail.com>
wrote:

> Hi Team,
>
> I have a query.
>
> Currently I am using ED25519  algo for Key/pair generation ,but  someone
> told me that we can use multiple keygen algorithms to generate different
> types of keys
>
> and a DID document can have multiple public keys of different types like
> (RSA,secp256k1, and ed15519)
>
> so that means a did is referring a did document which has multiple public
> keys generated by Different algorithms.
> so,we have multiple private keys also ...
>
> I am a bit confused , How is this working out . Please help
>
>
>
> Thanks and Regards
> Sethi Shivam
>


-- 
*ORIE STEELE*
Chief Technology Officer
www.transmute.industries

<https://www.transmute.industries>

Received on Monday, 16 September 2019 16:02:08 UTC