Help us shape the future of Go! Take the 2026 Go Developer Survey

keymanagerbase

package
v1.14.9 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: Apache-2.0 Imports: 17 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SortKeyEntries

func SortKeyEntries(entries []*KeyEntry)

Types

type Base

type Base struct {
	keymanagerv1.UnsafeKeyManagerServer
	// contains filtered or unexported fields
}

Base is the base KeyManager implementation

func New

func New(config Config) *Base

New creates a new base key manager using the provided Funcs. Default implementations are provided for any that aren't set.

func (*Base) GenerateKey

GenerateKey implements the KeyManager RPC of the same name.

func (*Base) GetPublicKey

GetPublicKey implements the KeyManager RPC of the same name.

func (*Base) GetPublicKeys

GetPublicKeys implements the KeyManager RPC of the same name.

func (*Base) SetEntries

func (m *Base) SetEntries(entries []*KeyEntry)

SetEntries is used to replace the set of managed entries. This is generally called by implementations when they are first loaded to set the initial set of entries.

func (*Base) SignData

SignData implements the KeyManager RPC of the same name.

type Config added in v1.5.0

type Config struct {
	// Generator is an optional key generator.
	Generator Generator

	// WriteEntries is an optional callback used to persist key entries
	WriteEntries func(ctx context.Context, allEntries []*KeyEntry, newEntry *KeyEntry) error
}

Config is a collection of optional callbacks. Default implementations will be used when not provided.

type Generator added in v1.5.0

type Generator interface {
	GenerateRSA2048Key() (crypto.Signer, error)
	GenerateRSA4096Key() (crypto.Signer, error)
	GenerateEC256Key() (crypto.Signer, error)
	GenerateEC384Key() (crypto.Signer, error)
}

type KeyEntry

type KeyEntry struct {
	PrivateKey crypto.Signer
	*keymanagerv1.PublicKey
}

KeyEntry is an entry maintained by the key manager

func MakeKeyEntryFromKey

func MakeKeyEntryFromKey(id string, privateKey crypto.PrivateKey) (*KeyEntry, error)

Jump to

Keyboard shortcuts

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