Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace DID key with inhouse key. #324

Open
dariusc93 opened this issue Sep 13, 2023 · 0 comments
Open

Replace DID key with inhouse key. #324

dariusc93 opened this issue Sep 13, 2023 · 0 comments
Assignees
Labels
improvement Improve on existing feature P-Low Low Priority refactoring Major change to features

Comments

@dariusc93
Copy link
Contributor

Currently, we utilize a did key from did-key crate, which is used to handle the public/private keys across this repo. However, the crate itself has questionable implementation and bad practices, which would require more work to refactor. Not to mention the spec itself is incomplete and looks to be more web focused (based on how many implementations handle it). Although theres another implementation, it may be best to strip this repo out altogether.

I would suggest replacing this with a inhouse key system that supports a couple of keys such as ed25516 (required for current implementations), ecdsa (for possible future implementations), etc.. This would be split into PublicKey and PrivateKey (or Keypair), which would allow for signing, verification, key exchange, etc.

Motivation:

  • Safer code base
  • Reduction in dependencies
  • Easier optimization and fixes
  • Simplify logic without the additional overhead

Note:

  • To maintain compatibility, we can keep DID, which we can pass to PublicKey to be decoded and encoded into such format, while allowing it to either as base58 or base64 encoding
  • Not priority at this time, but would be simple to do/implement
@dariusc93 dariusc93 added improvement Improve on existing feature refactoring Major change to features P-Low Low Priority blocked Blocked by another feature, request or issue. labels Sep 13, 2023
@dariusc93 dariusc93 removed the blocked Blocked by another feature, request or issue. label Oct 14, 2023
@dariusc93 dariusc93 self-assigned this May 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement Improve on existing feature P-Low Low Priority refactoring Major change to features
Projects
None yet
Development

No branches or pull requests

1 participant