v7.6.1 Latest Latest

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

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




This section is empty.


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


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


type Key

type Key interface {
	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 {
	// 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


Path Synopsis

Jump to

Keyboard shortcuts

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