Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AttributeInfo ¶
type AttributeInfo struct {
// contains filtered or unexported fields
}
AttributeInfo contains information about how to print/display an attribute
type Token ¶
type Token interface { // Checksum calculates a checksum value for an AES key. A block of zeroes is encrypted in CBC-mode with a zero IV. Checksum(keyLabel string) ([]byte, error) // ImportKey imports an AES key and applies a label. ImportKey(keyBytes []byte, label string) error // DeleteAllExcept deletes all keys on the token except those with a label specified. DeleteAllExcept(keyLabels []string) error // PrintObjects prints all objects in the token if label is nil, otherwise it prints only the objects with that // label PrintObjects(label *string) error // GenerateKey creates a new RSA or AES or EC key of the given size in the token GenerateKeyPair(label string, keyid string, algorithm string, keytype string, keysize int) error // GenerateKey creates a new RSA or AES key of the given size in the token GetPublicKey(label string, keyid string) (publicKey *ecdsa.PublicKey, keyBytes []byte, err error) // Sign returns a signature using the in-built curve Sign(label string, keyid string, hash []byte) (signature []byte, err error) // Verify checks the provided hash against the provisioned address Verify(label string, keyid string, hash []byte, signature []byte) (err error) // PrintMechanisms prints mechanism info for all supported mechanisms. PrintMechanisms() error // Finalise closes the library and unloads it. Finalise() error }
Token provides a high level interface to a P11 token.
type TokenCtx ¶
type TokenCtx interface { CloseSession(sh pkcs11.SessionHandle) error CreateObject(sh pkcs11.SessionHandle, temp []*pkcs11.Attribute) (pkcs11.ObjectHandle, error) Destroy() DestroyObject(sh pkcs11.SessionHandle, oh pkcs11.ObjectHandle) error Encrypt(sh pkcs11.SessionHandle, message []byte) ([]byte, error) EncryptInit(sh pkcs11.SessionHandle, m []*pkcs11.Mechanism, o pkcs11.ObjectHandle) error Finalize() error FindObjects(sh pkcs11.SessionHandle, max int) ([]pkcs11.ObjectHandle, bool, error) FindObjectsFinal(sh pkcs11.SessionHandle) error FindObjectsInit(sh pkcs11.SessionHandle, temp []*pkcs11.Attribute) error GenerateKey(sh pkcs11.SessionHandle, mech []*pkcs11.Mechanism, temp []*pkcs11.Attribute) (pkcs11.ObjectHandle, error) GenerateKeyPair(sh pkcs11.SessionHandle, mech []*pkcs11.Mechanism, public, private []*pkcs11.Attribute) (pkcs11.ObjectHandle, pkcs11.ObjectHandle, error) GetAttributeValue(sh pkcs11.SessionHandle, o pkcs11.ObjectHandle, a []*pkcs11.Attribute) ([]*pkcs11.Attribute, error) GetSlotList(tokenPresent bool) ([]uint, error) GetTokenInfo(slotID uint) (pkcs11.TokenInfo, error) Initialize() error SignInit(sh pkcs11.SessionHandle, m []*pkcs11.Mechanism, o pkcs11.ObjectHandle) error Sign(sh pkcs11.SessionHandle, message []byte) ([]byte, error) Login(sh pkcs11.SessionHandle, userType uint, pin string) error OpenSession(slotID uint, flags uint) (pkcs11.SessionHandle, error) GetMechanismList(slotID uint) ([]*pkcs11.Mechanism, error) GetMechanismInfo(slotID uint, m []*pkcs11.Mechanism) (pkcs11.MechanismInfo, error) }
TokenCtx contains the functions we use from github.com/miekg/pkcs11.
Click to show internal directories.
Click to hide internal directories.