keystore

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2024 License: MIT 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

func GenerateSecretKey

func GenerateSecretKey() ([]byte, error)

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(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(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