Skip to content
This repository has been archived by the owner on Jul 21, 2023. It is now read-only.

Key Conversion #177

Open
OR13 opened this issue Jun 9, 2020 · 0 comments
Open

Key Conversion #177

OR13 opened this issue Jun 9, 2020 · 0 comments
Labels
help wanted Seeking public contribution on this issue kind/enhancement A net-new feature or improvement to an existing feature status/ready Ready to be worked

Comments

@OR13
Copy link

OR13 commented Jun 9, 2020

This library appears to have support for RSA, Ed25519 and Secp256k1 + NIST Curves.

When integrating with existing systems, developers are likely to encounter at least 3 formats for these keys...

hex / base58 / binary encoded keys, JWK and PEM.

AFAIK, PEM is already supported.

It would be useful to be able to convert between all popular formats using a friendly interface.

Here is a terrible example of handling this for secp256k1:

https://github.com/transmute-industries/did-key.js/blob/master/packages/did-key-secp256k1/src/keyUtils.test.ts

In addition, it might be desirable to support did:key within this library directly, because of its reliance on https://github.com/multiformats/multicodec/blob/master/table.csv#L81

https://github.com/w3c-ccg/did-method-key

This would allow for js-libp2p-crypto to be the single crypto dependency for systems like did:peer which upgrade from did:key: https://github.com/openssi/peer-did-method-spec

although support for did:key representations of js-libp2p-crypto might be better handled at another layer.

@vasco-santos vasco-santos added feature help wanted Seeking public contribution on this issue status/ready Ready to be worked labels Jun 25, 2020
@Stebalien Stebalien added kind/enhancement A net-new feature or improvement to an existing feature and removed feature labels Mar 27, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Seeking public contribution on this issue kind/enhancement A net-new feature or improvement to an existing feature status/ready Ready to be worked
Projects
None yet
Development

No branches or pull requests

3 participants