OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / tendermint / go-crypto / keys / cryptostore / docs.go
1 /*
2 package cryptostore maintains everything needed for doing public-key signing and
3 key management in software, based on the go-crypto library from tendermint.
4
5 It is flexible, and allows the user to provide a key generation algorithm
6 (currently Ed25519 or Secp256k1), an encoder to passphrase-encrypt our keys
7 when storing them (currently SecretBox from NaCl), and a method to persist
8 the keys (currently FileStorage like ssh, or MemStorage for tests).
9 It should be relatively simple to write your own implementation of these
10 interfaces to match your specific security requirements.
11
12 Note that the private keys are never exposed outside the package, and the
13 interface of Manager could be implemented by an HSM in the future for
14 enhanced security.  It would require a completely different implementation
15 however.
16
17 This Manager aims to implement Signer and KeyManager interfaces, along
18 with some extensions to allow importing/exporting keys and updating the
19 passphrase.
20
21 Encoder and Generator implementations are currently in this package,
22 keys.Storage implementations exist as subpackages of
23 keys/storage
24 */
25 package cryptostore