token

package
v7.5.6 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Openers = make(map[string]OpenFunc)
	Listers = make(map[string]ListFunc)
)

Functions

func KeyID

func KeyID(ctx context.Context) []byte

func Login

func Login(tokenConf *config.TokenConfig, pinProvider passprompt.PasswordGetter, loginFunc passprompt.LoginFunc, keyringUser, initialPrompt string) error

func WithKeyID

func WithKeyID(ctx context.Context, keyID []byte) context.Context

Types

type Key

type Key interface {
	crypto.Signer
	SignContext(context.Context, []byte, crypto.SignerOpts) ([]byte, error)
	// Return the key config object used to instantiate this key
	Config() *config.KeyConfig
	// Return the X509 certificate chain stored in the token, if any
	Certificate() []byte
	// Get the CKK_ID or equivalent for the key
	GetID() []byte
	// Import a leaf certificate for this key
	ImportCertificate(cert *x509.Certificate) error
}

type KeyType

type KeyType uint
const (
	// Values match CKK_RSA etc.
	KeyTypeRsa   KeyType = 0
	KeyTypeEcdsa KeyType = 3
)

type KeyUsageError

type KeyUsageError struct {
	Key string
	Err error
}

func (KeyUsageError) Error

func (e KeyUsageError) Error() string

func (KeyUsageError) Unwrap

func (e KeyUsageError) Unwrap() error

type ListFunc

type ListFunc func(provider string, dest io.Writer) error

type ListOptions

type ListOptions struct {
	// Destination stream
	Output io.Writer
	// Filter by attributes
	Label string
	ID    string
	// Print key and certificate contents
	Values bool
}

type NotImplementedError

type NotImplementedError struct {
	Op, Type string
}

func (NotImplementedError) Error

func (e NotImplementedError) Error() string

type OpenFunc

type OpenFunc func(cfg *config.Config, tokenName string, prompt passprompt.PasswordGetter) (Token, error)

type Token

type Token interface {
	io.Closer
	// Check that the token is still alive
	Ping(ctx context.Context) error
	// Return the token config object used to instantiate this token
	Config() *config.TokenConfig
	// Get a key from the token by its config alias
	GetKey(ctx context.Context, keyName string) (Key, error)
	// Import a public+private keypair into the token
	Import(keyName string, privKey crypto.PrivateKey) (Key, error)
	// Import an issuer certificate into the token. The new object label will
	// be labelBase plus the fingerprint of the certificate.
	ImportCertificate(cert *x509.Certificate, labelBase string) error
	// Generate a new key in the token
	Generate(keyName string, keyType KeyType, bits uint) (Key, error)
	// Print key info
	ListKeys(opts ListOptions) error
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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