Closed sudeshrshetty closed 3 years ago
@OR13 please let me know your opinion about this.
"controller": "did:example:1234#key-1",
this will conflict with the DID Document concept of controller.
I think controller
MUST be a DID or URL without Fragment.
I am fine with kid
embedded in the publicKeyJwk
... that can be very useful.
we have generally stuck to id
being a DID URL or a URL with fragment.
for example, in our did web plugin, we use controller
and id
to automatically generate a did web document from wallet content....
@OR13 What about private keys in base58 format, we may need an additional field in data model for kid
.
or we can assume id
of the key data model will be DID URL with fragment.
@sudeshrshetty yes, I suspect base58 encoded keys will have to use the id
field... and with did key for example... the fragment tends to carry the key type, so for other did methods you will see things like
did:example:123#zUc...
where the fragment is multiformat. telling you this is a BLS12381 G2 key.... even though that gets repeated in the type
field.
thanks @OR13 , we can use id
field for base58 encoded keys. Closing this issue.
Key data model may need to have
key ID
field to map it with a DID document, then It will be easy to import any DID Document into wallet along with its keys for signing.Alternative solution is to use DID key ID as
controller
of the Key data model.DID key ID as controller example:
Once saved, importing any DID Document into wallet for signing will be very simple like in example below,