...

Package token

import "github.com/sassoftware/relic/token"
Overview
Index
Subdirectories

Overview ▾

Variables

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

func Login

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

type Key

type Key interface {
    crypto.Signer
    // Return the key config object used to instantiate this key
    Config() *config.KeyConfig
    // 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 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 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() 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(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
}

Subdirectories