package keywrap

import "github.com/containers/ocicrypt/keywrap"

Index

Types

type KeyWrapper

type KeyWrapper interface {
	WrapKeys(ec *config.EncryptConfig, optsData []byte) ([]byte, error)
	UnwrapKey(dc *config.DecryptConfig, annotation []byte) ([]byte, error)
	GetAnnotationID() string

	// NoPossibleKeys returns true if there is no possibility of performing
	// decryption for parameters provided.
	NoPossibleKeys(dcparameters map[string][][]byte) bool

	// GetPrivateKeys (optional) gets the array of private keys. It is an optional implementation
	// as in some key services, a private key may not be exportable (i.e. HSM)
	// If not implemented, return nil
	GetPrivateKeys(dcparameters map[string][][]byte) [][]byte

	// GetKeyIdsFromPacket (optional) gets a list of key IDs. This is optional as some encryption
	// schemes may not have a notion of key IDs
	// If not implemented, return the nil slice
	GetKeyIdsFromPacket(packet string) ([]uint64, error)

	// GetRecipients (optional) gets a list of recipients. It is optional due to the validity of
	// recipients in a particular encryptiong scheme
	// If not implemented, return the nil slice
	GetRecipients(packet string) ([]string, error)
}

KeyWrapper is the interface used for wrapping keys using a specific encryption technology (pgp, jwe)

Source Files

keywrap.go

Directories

PathSynopsis
keywrap/jwe
keywrap/keyprovider
keywrap/pgp
keywrap/pkcs11
keywrap/pkcs7
Version
v1.2.1 (latest)
Published
Dec 16, 2024
Platform
linux/amd64
Imports
1 packages
Last checked
2 months ago

Tools for package owners.