keystore

package
v0.0.0-...-c2300e3 Latest Latest
Warning

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

Go to latest
Published: Dec 28, 2023 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Overview

Package keystore implements the auth.KeyLookup 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 KeyLookup 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]PrivateKey) *KeyStore

NewMap constructs a KeyStore with an initial set of keys.

func (*KeyStore) PrivateKey

func (ks *KeyStore) PrivateKey(ctx context.Context, kid string) (string, error)

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

func (*KeyStore) PublicKey

func (ks *KeyStore) PublicKey(ctx context.Context, kid string) (string, error)

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

type PrivateKey

type PrivateKey struct {
	PK  *rsa.PrivateKey
	PEM []byte
}

PrivateKey represents key information.

Jump to

Keyboard shortcuts

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