Documentation
¶
Overview ¶
Package kms provides an abstract interface for Key Management Services.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudKMS ¶
type CloudKMS interface {
// GetDEK returns the DEK for dekID and kekID from the KMS.
// If the DEK does not exist, a new one is created and saved to storage.
GetDEK(ctx context.Context, dekID string, dekSize int) ([]byte, error)
// Close closes any open connection on the KMS client.
Close()
}
CloudKMS enables using cloud base Key Management Services.
type Storage ¶
type Storage interface {
// Get returns a DEK from the storage by key ID. If the DEK does not exist, returns storage.ErrDEKUnset.
Get(context.Context, string) ([]byte, error)
// Put saves a DEK to the storage by key ID.
Put(context.Context, string, []byte) error
}
Storage provides an abstract interface for the storage backend used for DEKs.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package aws implements a KMS backend for AWS KMS.
|
Package aws implements a KMS backend for AWS KMS. |
|
Package azure implements KMS backends for Azure Key Vault and Azure managed HSM.
|
Package azure implements KMS backends for Azure Key Vault and Azure managed HSM. |
|
Package cluster implements a KMS backend for in cluster key management.
|
Package cluster implements a KMS backend for in cluster key management. |
|
Package gcp implements a KMS backend for Google Cloud KMS.
|
Package gcp implements a KMS backend for Google Cloud KMS. |
|
Package internal implements the CloudKMS interface using go-kms-wrapping.
|
Package internal implements the CloudKMS interface using go-kms-wrapping. |
Click to show internal directories.
Click to hide internal directories.