keystore

package
v0.0.0-...-1209b48 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package keystore implements the auth.KeyStore interface. This implements an in-memory keystore for JWT support.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type KeyStore

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

KeyStore represents an in memory store implementation of the KeyStorer interface for use with the auth package.

func New

func New() *KeyStore

New constructs an empty KeyStore ready for use.

func NewFS

func NewFS(fsys fs.FS) (*KeyStore, error)

NewFS constructs a KeyStore based on a set of PEM files rooted inside of a directory. The name of each PEM file will be used as the key id. Example: keystore.NewFS(os.DirFS("/zarf/keys/")) Example: /zarf/keys/54bb2165-71e1-41a6-af3e-7da4a0e1e2c1.pem

func NewMap

func NewMap(store map[string]*rsa.PrivateKey) *KeyStore

NewMap constructs a KeyStore with an initial set of keys.

func (*KeyStore) Add

func (ks *KeyStore) Add(privateKey *rsa.PrivateKey, kid string)

Add adds a private key and combination kid to the store.

func (*KeyStore) PrivateKey

func (ks *KeyStore) PrivateKey(kid string) (*rsa.PrivateKey, error)

PrivateKey searches the key store for a given kid and returns the private key.

func (*KeyStore) PublicKey

func (ks *KeyStore) PublicKey(kid string) (*rsa.PublicKey, error)

PublicKey searches the key store for a given kid and returns the public key.

func (*KeyStore) Remove

func (ks *KeyStore) Remove(kid string)

Remove removes a private key and combination kid to the store.

Jump to

Keyboard shortcuts

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