Documentation
¶
Index ¶
- func GetPasswdDecryptBytes(passphraseRetriever notary.PassRetriever, pemBytes []byte, name, alias string) (data.PrivateKey, string, error)
- type ErrAttemptsExceeded
- type ErrKeyNotFound
- type ErrPasswordInvalid
- type GenericKeyStore
- func (s *GenericKeyStore) AddKey(keyInfo KeyInfo, privKey data.PrivateKey) error
- func (s *GenericKeyStore) GetKey(name string) (data.PrivateKey, string, error)
- func (s *GenericKeyStore) GetKeyInfo(keyID string) (KeyInfo, error)
- func (s *GenericKeyStore) ListKeys() map[string]KeyInfo
- func (s *GenericKeyStore) Name() string
- func (s *GenericKeyStore) RemoveKey(keyID string) error
- type KeyInfo
- type KeyStore
- type Storage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetPasswdDecryptBytes ¶
func GetPasswdDecryptBytes(passphraseRetriever notary.PassRetriever, pemBytes []byte, name, alias string) (data.PrivateKey, string, error)
GetPasswdDecryptBytes gets the password to decrypt the given pem bytes. Returns the password and private key
Types ¶
type ErrAttemptsExceeded ¶
type ErrAttemptsExceeded struct{}
ErrAttemptsExceeded is returned when too many attempts have been made to decrypt a key
func (ErrAttemptsExceeded) Error ¶
func (err ErrAttemptsExceeded) Error() string
ErrAttemptsExceeded is returned when too many attempts have been made to decrypt a key
type ErrKeyNotFound ¶
type ErrKeyNotFound struct {
KeyID string
}
ErrKeyNotFound is returned when the keystore fails to retrieve a specific key.
func (ErrKeyNotFound) Error ¶
func (err ErrKeyNotFound) Error() string
ErrKeyNotFound is returned when the keystore fails to retrieve a specific key.
type ErrPasswordInvalid ¶
type ErrPasswordInvalid struct{}
ErrPasswordInvalid is returned when signing fails. It could also mean the signing key file was corrupted, but we have no way to distinguish.
func (ErrPasswordInvalid) Error ¶
func (err ErrPasswordInvalid) Error() string
ErrPasswordInvalid is returned when signing fails. It could also mean the signing key file was corrupted, but we have no way to distinguish.
type GenericKeyStore ¶ added in v0.4.0
type GenericKeyStore struct {
sync.Mutex
notary.PassRetriever
// contains filtered or unexported fields
}
GenericKeyStore is a wrapper for Storage instances that provides translation between the []byte form and Public/PrivateKey objects
func NewGenericKeyStore ¶ added in v0.4.0
func NewGenericKeyStore(s Storage, p notary.PassRetriever) *GenericKeyStore
NewGenericKeyStore creates a GenericKeyStore wrapping the provided Storage instance, using the PassRetriever to enc/decrypt keys
func NewKeyFileStore ¶
func NewKeyFileStore(baseDir string, p notary.PassRetriever) (*GenericKeyStore, error)
NewKeyFileStore returns a new KeyFileStore creating a private directory to hold the keys.
func NewKeyMemoryStore ¶
func NewKeyMemoryStore(p notary.PassRetriever) *GenericKeyStore
NewKeyMemoryStore returns a new KeyMemoryStore which holds keys in memory
func (*GenericKeyStore) AddKey ¶ added in v0.4.0
func (s *GenericKeyStore) AddKey(keyInfo KeyInfo, privKey data.PrivateKey) error
AddKey stores the contents of a PEM-encoded private key as a PEM block
func (*GenericKeyStore) GetKey ¶ added in v0.4.0
func (s *GenericKeyStore) GetKey(name string) (data.PrivateKey, string, error)
GetKey returns the PrivateKey given a KeyID
func (*GenericKeyStore) GetKeyInfo ¶ added in v0.4.0
func (s *GenericKeyStore) GetKeyInfo(keyID string) (KeyInfo, error)
GetKeyInfo returns the corresponding gun and role key info for a keyID
func (*GenericKeyStore) ListKeys ¶ added in v0.4.0
func (s *GenericKeyStore) ListKeys() map[string]KeyInfo
ListKeys returns a list of unique PublicKeys present on the KeyFileStore, by returning a copy of the keyInfoMap
func (*GenericKeyStore) Name ¶ added in v0.4.0
func (s *GenericKeyStore) Name() string
Name returns a user friendly name for the location this store keeps its data
func (*GenericKeyStore) RemoveKey ¶ added in v0.4.0
func (s *GenericKeyStore) RemoveKey(keyID string) error
RemoveKey removes the key from the keyfilestore
type KeyInfo ¶ added in v0.3.0
KeyInfo stores the role, path, and gun for a corresponding private key ID It is assumed that each private key ID is unique
type KeyStore ¶
type KeyStore interface {
// AddKey adds a key to the KeyStore, and if the key already exists,
// succeeds. Otherwise, returns an error if it cannot add.
AddKey(keyInfo KeyInfo, privKey data.PrivateKey) error
// Should fail with ErrKeyNotFound if the keystore is operating normally
// and knows that it does not store the requested key.
GetKey(keyID string) (data.PrivateKey, string, error)
GetKeyInfo(keyID string) (KeyInfo, error)
ListKeys() map[string]KeyInfo
RemoveKey(keyID string) error
Name() string
}
KeyStore is a generic interface for private key storage
type Storage ¶ added in v0.3.0
type Storage interface {
// Add writes a file to the specified location, returning an error if this
// is not possible (reasons may include permissions errors). The path is cleaned
// before being made absolute against the store's base dir.
Set(fileName string, data []byte) error
// Remove deletes a file from the store relative to the store's base directory.
// The path is cleaned before being made absolute to ensure no path traversal
// outside the base directory is possible.
Remove(fileName string) error
// Get returns the file content found at fileName relative to the base directory
// of the file store. The path is cleaned before being made absolute to ensure
// path traversal outside the store is not possible. If the file is not found
// an error to that effect is returned.
Get(fileName string) ([]byte, error)
// ListFiles returns a list of paths relative to the base directory of the
// filestore. Any of these paths must be retrievable via the
// Storage.Get method.
ListFiles() []string
// Location returns a human readable name indicating where the implementer
// is storing keys
Location() string
}
Storage implements the bare bones primitives (no hierarchy)