Documentation
¶
Overview ¶
Package testprov is a test-only in-memory cryptoprov.Provider whose keys are not exportable: ExportKey returns a pkcs11: URI like the HSM and KMS providers do, and the key wrapper implements crypto.Decrypter. Unlike the other providers it is not registered in init(); tests call Register or Loader explicitly.
Key generation, lookup, and URI export may run concurrently. Registry locking does not cover key generation, signing, or decryption. Token configuration passed to Loader must remain unchanged while the provider is in use.
Index ¶
- func Loader(tc cryptoprov.TokenConfig) (cryptoprov.Provider, error)
- type Provider
- func (p *Provider) ExportKey(keyID string) (string, []byte, error)
- func (p *Provider) GenerateECDSAKey(label string, curve elliptic.Curve) (crypto.PrivateKey, error)
- func (p *Provider) GenerateRSAKey(label string, bits int, purpose int) (crypto.PrivateKey, error)
- func (p *Provider) GetKey(keyID string) (crypto.PrivateKey, error)
- func (p *Provider) IdentifyKey(priv crypto.PrivateKey) (keyID, label string, err error)
- func (p *Provider) Manufacturer() string
- func (p *Provider) Model() string
- func (p *Provider) Serial() string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Loader ¶ added in v0.2.0
func Loader(tc cryptoprov.TokenConfig) (cryptoprov.Provider, error)
Loader for Provider
Types ¶
type Provider ¶
type Provider struct {
// contains filtered or unexported fields
}
Provider stores non-exportable keys for tests and supports concurrent key generation, lookup, and URI export. Token configuration must remain unchanged while the provider is in use.
func (*Provider) GenerateECDSAKey ¶
GenerateECDSAKey creates signer using randomly generated ECDSA key
func (*Provider) GenerateRSAKey ¶
GenerateRSAKey creates signer using randomly generated RSA key
func (*Provider) GetKey ¶
func (p *Provider) GetKey(keyID string) (crypto.PrivateKey, error)
GetKey returns key for the given id
func (*Provider) IdentifyKey ¶
func (p *Provider) IdentifyKey(priv crypto.PrivateKey) (keyID, label string, err error)
IdentifyKey returns key id and label for the given private key
func (*Provider) Manufacturer ¶
Manufacturer return manufacturer for the provider