mirror of
https://github.com/tendermint/tendermint.git
synced 2026-09-19 22:44:24 +00:00
Expose new and list via cli
This commit is contained in:
@@ -21,7 +21,7 @@ func (es encryptedStorage) Put(name, pass string, key crypto.PrivKey) error {
|
||||
return es.store.Put(name, secret, ki)
|
||||
}
|
||||
|
||||
func (es encryptedStorage) Get(name, pass string) (crypto.PrivKey, keys.KeyInfo, error) {
|
||||
func (es encryptedStorage) Get(name, pass string) (crypto.PrivKey, keys.Info, error) {
|
||||
secret, info, err := es.store.Get(name)
|
||||
if err != nil {
|
||||
return nil, info, err
|
||||
@@ -30,7 +30,7 @@ func (es encryptedStorage) Get(name, pass string) (crypto.PrivKey, keys.KeyInfo,
|
||||
return key, info, err
|
||||
}
|
||||
|
||||
func (es encryptedStorage) List() ([]keys.KeyInfo, error) {
|
||||
func (es encryptedStorage) List() (keys.Infos, error) {
|
||||
return es.store.List()
|
||||
}
|
||||
|
||||
@@ -39,8 +39,8 @@ func (es encryptedStorage) Delete(name string) error {
|
||||
}
|
||||
|
||||
// info hardcodes the encoding of keys
|
||||
func info(name string, key crypto.PrivKey) keys.KeyInfo {
|
||||
return keys.KeyInfo{
|
||||
func info(name string, key crypto.PrivKey) keys.Info {
|
||||
return keys.Info{
|
||||
Name: name,
|
||||
PubKey: crypto.PubKeyS{key.PubKey()},
|
||||
}
|
||||
|
||||
@@ -24,28 +24,28 @@ func (s Manager) assertSigner() keys.Signer {
|
||||
return s
|
||||
}
|
||||
|
||||
// exists just to make sure we fulfill the KeyManager interface
|
||||
func (s Manager) assertKeyManager() keys.KeyManager {
|
||||
// exists just to make sure we fulfill the Manager interface
|
||||
func (s Manager) assertKeyManager() keys.Manager {
|
||||
return s
|
||||
}
|
||||
|
||||
// Create adds a new key to the storage engine, returning error if
|
||||
// another key already stored under this name
|
||||
func (s Manager) Create(name, passphrase string) error {
|
||||
func (s Manager) Create(name, passphrase string) (keys.Info, error) {
|
||||
key := s.gen.Generate()
|
||||
return s.es.Put(name, passphrase, key)
|
||||
err := s.es.Put(name, passphrase, key)
|
||||
return info(name, key), err
|
||||
}
|
||||
|
||||
// List loads the keys from the storage and enforces alphabetical order
|
||||
func (s Manager) List() (keys.KeyInfos, error) {
|
||||
k, err := s.es.List()
|
||||
res := keys.KeyInfos(k)
|
||||
func (s Manager) List() (keys.Infos, error) {
|
||||
res, err := s.es.List()
|
||||
res.Sort()
|
||||
return res, err
|
||||
}
|
||||
|
||||
// Get returns the public information about one key
|
||||
func (s Manager) Get(name string) (keys.KeyInfo, error) {
|
||||
func (s Manager) Get(name string) (keys.Info, error) {
|
||||
_, info, err := s.es.store.Get(name)
|
||||
return info, err
|
||||
}
|
||||
|
||||
@@ -31,9 +31,10 @@ func TestKeyManagement(t *testing.T) {
|
||||
// create some keys
|
||||
_, err = cstore.Get(n1)
|
||||
assert.NotNil(err)
|
||||
err = cstore.Create(n1, p1)
|
||||
i, err := cstore.Create(n1, p1)
|
||||
require.Equal(n1, i.Name)
|
||||
require.Nil(err)
|
||||
err = cstore.Create(n2, p2)
|
||||
_, err = cstore.Create(n2, p2)
|
||||
require.Nil(err)
|
||||
|
||||
// we can get these keys
|
||||
@@ -159,7 +160,7 @@ func TestAdvancedKeyManagement(t *testing.T) {
|
||||
p1, p2, p3, pt := "1234", "foobar", "ding booms!", "really-secure!@#$"
|
||||
|
||||
// make sure key works with initial password
|
||||
err := cstore.Create(n1, p1)
|
||||
_, err := cstore.Create(n1, p1)
|
||||
require.Nil(err, "%+v", err)
|
||||
assertPassword(assert, cstore, n1, p1, p2)
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ func TestSortKeys(t *testing.T) {
|
||||
|
||||
// alphabetical order is n3, n1, n2
|
||||
n1, n2, n3 := "john", "mike", "alice"
|
||||
infos := keys.KeyInfos{
|
||||
infos := keys.Infos{
|
||||
info(n1, gen()),
|
||||
info(n2, gen()),
|
||||
info(n3, gen()),
|
||||
|
||||
Reference in New Issue
Block a user