kms

package
v2.16.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 14, 2024 License: AGPL-3.0 Imports: 1 Imported by: 0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL