mirror of
https://github.com/fluencelabs/tendermint
synced 2025-06-28 12:11:44 +00:00
Import keystore logic from light-client
This commit is contained in:
25
cryptostore/docs.go
Normal file
25
cryptostore/docs.go
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
package cryptostore maintains everything needed for doing public-key signing and
|
||||
key management in software, based on the go-crypto library from tendermint.
|
||||
|
||||
It is flexible, and allows the user to provide a key generation algorithm
|
||||
(currently Ed25519 or Secp256k1), an encoder to passphrase-encrypt our keys
|
||||
when storing them (currently SecretBox from NaCl), and a method to persist
|
||||
the keys (currently FileStorage like ssh, or MemStorage for tests).
|
||||
It should be relatively simple to write your own implementation of these
|
||||
interfaces to match your specific security requirements.
|
||||
|
||||
Note that the private keys are never exposed outside the package, and the
|
||||
interface of Manager could be implemented by an HSM in the future for
|
||||
enhanced security. It would require a completely different implementation
|
||||
however.
|
||||
|
||||
This Manager aims to implement Signer and KeyManager interfaces, along
|
||||
with some extensions to allow importing/exporting keys and updating the
|
||||
passphrase.
|
||||
|
||||
Encoder and Generator implementations are currently in this package,
|
||||
keys.Storage implementations exist as subpackages of
|
||||
keys/storage
|
||||
*/
|
||||
package cryptostore
|
Reference in New Issue
Block a user