keyring

package
v0.8.3-rc2 Latest Latest
Warning

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

Go to latest
Published: Mar 2, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidKeyType = errors.New("invalid key type")
)

Functions

This section is empty.

Types

type CACertsKey added in v0.4.2

type CACertsKey struct {
	// DER-encoded certificates
	CACerts [][]byte `json:"caCerts"`
}

func NewCACertsKey added in v0.4.2

func NewCACertsKey(certs []*x509.Certificate) *CACertsKey

type EphemeralKey added in v0.8.2

type EphemeralKey struct {
	Usage  UsageType         `json:"usage" validate:"oneof=encryption signing"`
	Secret []byte            `json:"secret" validate:"len=32"`
	Labels map[string]string `json:"labels" validate:"dive,keys,printascii,endkeys,printascii"`
}

func LoadEphemeralKey added in v0.8.2

func LoadEphemeralKey(r io.Reader) (*EphemeralKey, error)

func (*EphemeralKey) Validate added in v0.8.2

func (e *EphemeralKey) Validate() error

type Keyring

type Keyring interface {
	Try(...UseKeyFn) bool
	ForEach(func(key any))
	Marshal() ([]byte, error)
	Merge(Keyring) Keyring
}

func New

func New(keys ...any) Keyring

func Unmarshal

func Unmarshal(data []byte) (Keyring, error)

type PKPKey

type PKPKey struct {
	PinnedKeys []*pkp.PublicKeyPin `json:"pinnedKeys"`
}

func NewPKPKey

func NewPKPKey(pinnedKeys []*pkp.PublicKeyPin) *PKPKey

type SharedKeys

type SharedKeys struct {
	ClientKey ed25519.PrivateKey `json:"clientKey"`
	ServerKey ed25519.PrivateKey `json:"serverKey"`
}

func NewSharedKeys

func NewSharedKeys(secret []byte) *SharedKeys

type UsageType added in v0.8.2

type UsageType string
const (
	Encryption UsageType = "encryption"
	Signing    UsageType = "signing"
)

type UseKeyFn

type UseKeyFn any // func(*KeyringType)

Jump to

Keyboard shortcuts

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