W3C home > Mailing lists > Public > public-credentials@w3.org > November 2019

Re: Proposed work item: did:key DID Method

From: Orie Steele <orie@transmute.industries>
Date: Sun, 24 Nov 2019 14:27:36 -0600
Message-ID: <CAN8C-_+Xvvjx8J52+FN87AAd8JSdVFROCvZPoGPPiwUCYCCyPw@mail.gmail.com>
To: Christopher Allen <ChristopherA@lifewithalacrity.com>
Cc: Manu Sporny <msporny@digitalbazaar.com>, Melvin Carvalho <melvincarvalho@gmail.com>, W3C Credentials Community Group <public-credentials@w3.org>
https://github.com/decentralized-identity/github-did

https://github-did.com/

There is a CLI for creating test wallets, a web UI for using wallet keys in
the browser, an api for handling did resolution, and it's in the universal
resolver: https://uniresolver.io/#did:github:OR13

Before anyone raises this issue, yes, this is a test method, and yes, its
entirely possible to alter the did document if you have commit access to
the user / github organization repo.... Here is mine:
https://github.com/OR13/ghdid/blob/master/index.jsonld

It's all javascripts / express / react, Open Source / Apache-2 and
maintained at the DIF, our hope was that since this community uses GitHub
so much, this might be a helpful tool for developing experimental features,
such a PGP support, which we have added support for sign/verify +
encrypt/decrypt in the cli and web demos.

The wallet format that it uses is the same format we use for the web demo
of element:

https://element-did.com/

You would need to define a JSON-Schema for the Schnorr key, something like:

https://github.com/transmute-industries/did-wallet/blob/master/src/schema/assymetricWalletKey.json

Then add code to the CLI to generate the keys and add them to the wallet:

https://github.com/decentralized-identity/github-did/blob/master/packages/cli/src/v2/init.js#L114

Then you can export a subset of the keys, and import them into the web app
if you plan to demo their use in a browser:

ghdid exportWebWallet ~/Desktop/web.wallet.enc

Alternatively, you can implement a cli demo, similar to the PGP commands
here:

https://github.com/decentralized-identity/github-did/blob/master/packages/cli/src/v2/encrypt.js#L6

Just to be clear, these wallet portability features are for testing
purposes, we're excited for WebKMS or some more standard portable encrypted
at rest JSON format for wallet files that hold many different key types, if
anyone can recommend one, we'd consider replacing our current wallet
approach.

OS

ᐧ

On Sun, Nov 24, 2019 at 1:49 PM Christopher Allen <
ChristopherA@lifewithalacrity.com> wrote:

> On Sun, Nov 24, 2019 at 11:05 AM Orie Steele <orie@transmute.industries>
> wrote:
>
>> So in summary, did:key, did:v1 and did:github all support these proof
>> purposes today, but we really need to document them in order to encourage
>> others to add support.
>>
>
> So is there an actual implementation of did:github somewhere? I had looked
> for it but didn’t find it.
>
> I’m particularly interested in adding secp256k1  Schnoor musig to it as is
> a great example of a place where aggregated multiple signatures and
> threshold signatures that also offer privacy properties would be quite
> useful.
>
> — Christopher Allen [via iPhone]
>


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

<https://www.transmute.industries>
Received on Sunday, 24 November 2019 20:27:50 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:19:03 UTC