keystore

package
v0.38.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2026 License: Apache-2.0, MIT Imports: 9 Imported by: 22

Documentation

Overview

Package keystore provides a key management interface and a filesystem-backed implementation for storing cryptographic private keys.

FSKeystore stores keys as individual files in a directory, with names encoded using base32. Keys are written with mode 0400 and the keystore directory is created with mode 0700.

Index

Constants

This section is empty.

Variables

View Source
var ErrKeyExists = errors.New("key by that name already exists, refusing to overwrite")

ErrKeyExists is an error message returned when a key already exists

View Source
var ErrNoSuchKey = errors.New("no key by the given name was found")

ErrNoSuchKey is an error message returned when no key of a given name was found.

Functions

This section is empty.

Types

type FSKeystore

type FSKeystore struct {
	// contains filtered or unexported fields
}

FSKeystore is a keystore backed by files in a given directory stored on disk.

func NewFSKeystore

func NewFSKeystore(dir string) (*FSKeystore, error)

NewFSKeystore returns a new filesystem-backed keystore.

func (*FSKeystore) Delete

func (ks *FSKeystore) Delete(name string) error

Delete removes a key from the Keystore

func (*FSKeystore) Get

func (ks *FSKeystore) Get(name string) (ci.PrivKey, error)

Get retrieves a key from the Keystore if it exists, and returns ErrNoSuchKey otherwise.

func (*FSKeystore) Has

func (ks *FSKeystore) Has(name string) (bool, error)

Has returns whether or not a key exists in the Keystore

func (*FSKeystore) List

func (ks *FSKeystore) List() ([]string, error)

List return a list of key identifier

func (*FSKeystore) Put

func (ks *FSKeystore) Put(name string, k ci.PrivKey) error

Put stores a key in the Keystore, if a key with the same name already exists, returns ErrKeyExists

type Keystore

type Keystore interface {
	// Has returns whether or not a key exists in the Keystore
	Has(string) (bool, error)
	// Put stores a key in the Keystore, if a key with the same name already exists, returns ErrKeyExists
	Put(string, ci.PrivKey) error
	// Get retrieves a key from the Keystore if it exists, and returns ErrNoSuchKey
	// otherwise.
	Get(string) (ci.PrivKey, error)
	// Delete removes a key from the Keystore
	Delete(string) error
	// List returns a list of key identifier
	List() ([]string, error)
}

Keystore provides a key management interface

type MemKeystore

type MemKeystore struct {
	// contains filtered or unexported fields
}

MemKeystore is an in memory keystore implementation that is not persisted to any backing storage.

func NewMemKeystore

func NewMemKeystore() *MemKeystore

NewMemKeystore creates a MemKeystore.

func (*MemKeystore) Delete

func (mk *MemKeystore) Delete(name string) error

Delete remove a key from the Keystore

func (*MemKeystore) Get

func (mk *MemKeystore) Get(name string) (ci.PrivKey, error)

Get retrieve a key from the Keystore

func (*MemKeystore) Has

func (mk *MemKeystore) Has(name string) (bool, error)

Has return whether or not a key exists in the Keystore

func (*MemKeystore) List

func (mk *MemKeystore) List() ([]string, error)

List return a list of key identifier

func (*MemKeystore) Put

func (mk *MemKeystore) Put(name string, k ci.PrivKey) error

Put store a key in the Keystore

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL