#key #radicle #key-store #key-management #abstraction #stack #passphrase

radicle-keystore

Abstraction over storage of cryptographic keys within the Radicle stack

3 unstable releases

0.2.0 Mar 14, 2022
0.1.1 Oct 2, 2020
0.1.0 Sep 22, 2020

#1281 in Cryptography

38 downloads per month

GPL-3.0-or-later

50KB
1K SLoC

Build status

Radicle Keystore

Common interfaces for key management in the Radicle stack.

License

GPLv3.


lib.rs:

radicle-keystore aims to become the sole abstraction over storage of key material in the Radicle ecosystem.

Radicle employs two kinds of keys: ones which may leave your device (e.g. onto an HSM), and ones that shouldn't. For the first kind, we will eventually provide an implementation of Keystore which interfaces directly with system keychains or hardware devices, while for the second kind matters are a bit more complicated: we recommend to use the file::FileStorage implementation, which stores keys in encrypted form on the filesystem. This is to discourage (accidental) key sharing via backup or cross-device syncing setups the user might have.

The choice of crypto::Crypto (and relatedly pinentry::Pinentry) may however be used to store the passphrase for a key-derivation scheme (as employed by crypto::Pwhash) in some system keychain, or offload encryption entirely to an external system (such as GPG, or a password manager).

Dependencies

~5.5MB
~104K SLoC