From f7ea67cfabc63bbcbf1bce2e44bb15189e604404 Mon Sep 17 00:00:00 2001 From: Diogo Monica Date: Mon, 20 Jul 2015 13:46:01 -0700 Subject: [PATCH] Rebased from master Signed-off-by: Diogo Monica --- trustmanager/keyfilestore.go | 24 ++++++++++++------------ trustmanager/keyfilestore_test.go | 3 ++- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/trustmanager/keyfilestore.go b/trustmanager/keyfilestore.go index 545345a508..f92396508b 100644 --- a/trustmanager/keyfilestore.go +++ b/trustmanager/keyfilestore.go @@ -41,7 +41,7 @@ type PassphraseRetriever func(keyId, alias string, createNew bool, attempts int) type KeyFileStore struct { sync.Mutex SimpleFileStore - PassphraseRetriever + passphrase.Retriever cachedKeys map[string]*cachedKey } @@ -49,7 +49,7 @@ type KeyFileStore struct { type KeyMemoryStore struct { sync.Mutex MemoryFileStore - PassphraseRetriever + passphrase.Retriever cachedKeys map[string]*cachedKey } @@ -63,22 +63,22 @@ func NewKeyFileStore(baseDir string, passphraseRetriever passphrase.Retriever) ( cachedKeys := make(map[string]*cachedKey) return &KeyFileStore{SimpleFileStore: *fileStore, - PassphraseRetriever: passphraseRetriever, - cachedKeys: cachedKeys}, nil + Retriever: passphraseRetriever, + cachedKeys: cachedKeys}, nil } // AddKey stores the contents of a PEM-encoded private key as a PEM block func (s *KeyFileStore) AddKey(name, alias string, privKey data.PrivateKey) error { s.Lock() defer s.Unlock() - return addKey(s, s.PassphraseRetriever, s.cachedKeys, name, alias, privKey) + return addKey(s, s.Retriever, s.cachedKeys, name, alias, privKey) } // GetKey returns the PrivateKey given a KeyID func (s *KeyFileStore) GetKey(name string) (data.PrivateKey, string, error) { s.Lock() defer s.Unlock() - return getKey(s, s.PassphraseRetriever, s.cachedKeys, name) + return getKey(s, s.Retriever, s.cachedKeys, name) } // ListKeys returns a list of unique PublicKeys present on the KeyFileStore. @@ -101,22 +101,22 @@ func NewKeyMemoryStore(passphraseRetriever passphrase.Retriever) *KeyMemoryStore cachedKeys := make(map[string]*cachedKey) return &KeyMemoryStore{MemoryFileStore: *memStore, - PassphraseRetriever: passphraseRetriever, - cachedKeys: cachedKeys} + Retriever: passphraseRetriever, + cachedKeys: cachedKeys} } // AddKey stores the contents of a PEM-encoded private key as a PEM block func (s *KeyMemoryStore) AddKey(name, alias string, privKey data.PrivateKey) error { s.Lock() defer s.Unlock() - return addKey(s, s.PassphraseRetriever, s.cachedKeys, name, alias, privKey) + return addKey(s, s.Retriever, s.cachedKeys, name, alias, privKey) } // GetKey returns the PrivateKey given a KeyID func (s *KeyMemoryStore) GetKey(name string) (data.PrivateKey, string, error) { s.Lock() defer s.Unlock() - return getKey(s, s.PassphraseRetriever, s.cachedKeys, name) + return getKey(s, s.Retriever, s.cachedKeys, name) } // ListKeys returns a list of unique PublicKeys present on the KeyFileStore. @@ -133,7 +133,7 @@ func (s *KeyMemoryStore) RemoveKey(name string) error { return removeKey(s, s.cachedKeys, name) } -func addKey(s LimitedFileStore, passphraseRetriever PassphraseRetriever, cachedKeys map[string]*cachedKey, name, alias string, privKey data.PrivateKey) error { +func addKey(s LimitedFileStore, passphraseRetriever passphrase.Retriever, cachedKeys map[string]*cachedKey, name, alias string, privKey data.PrivateKey) error { pemPrivKey, err := KeyToPEM(privKey) if err != nil { return err @@ -186,7 +186,7 @@ func getKeyAlias(s LimitedFileStore, keyID string) (string, error) { } // GetKey returns the PrivateKey given a KeyID -func getKey(s LimitedFileStore, passphraseRetriever PassphraseRetriever, cachedKeys map[string]*cachedKey, name string) (data.PrivateKey, string, error) { +func getKey(s LimitedFileStore, passphraseRetriever passphrase.Retriever, cachedKeys map[string]*cachedKey, name string) (data.PrivateKey, string, error) { cachedKeyEntry, ok := cachedKeys[name] if ok { return cachedKeyEntry.key, cachedKeyEntry.alias, nil diff --git a/trustmanager/keyfilestore_test.go b/trustmanager/keyfilestore_test.go index 65795d4467..1205282c1c 100644 --- a/trustmanager/keyfilestore_test.go +++ b/trustmanager/keyfilestore_test.go @@ -8,6 +8,7 @@ import ( "path/filepath" "testing" + "github.com/docker/notary/pkg/passphrase" "github.com/stretchr/testify/assert" ) @@ -295,7 +296,7 @@ func TestKeysAreCached(t *testing.T) { assert.NoError(t, err, "failed to create a temporary directory") defer os.RemoveAll(tempBaseDir) - var countingPassphraseRetriever PassphraseRetriever + var countingPassphraseRetriever passphrase.Retriever numTimesCalled := 0 countingPassphraseRetriever = func(keyId, alias string, createNew bool, attempts int) (passphrase string, giveup bool, err error) {