Back to godoc.org
gocloud.dev / secrets / driver

Package driver

v0.20.0
Latest Go to latest
Published: Jun 10, 2020 | License: Apache-2.0 | Module: gocloud.dev

Overview

Package driver defines interfaces to be implemented by secrets drivers, which will be used by the secrets package to interact with the underlying services. Application code should use package secrets.

Index

Package Files

type Keeper

type Keeper interface {

	// Decrypt decrypts the ciphertext and returns the plaintext or an error.
	// Decrypt *may* decrypt ciphertexts that were encrypted using a different
	// key than the one provided to Keeper; some drivers encode the key used
	// in the ciphertext.
	Decrypt(ctx context.Context, ciphertext []byte) ([]byte, error)

	// Encrypt encrypts the plaintext using the key, and returns the ciphertext.
	Encrypt(ctx context.Context, plaintext []byte) ([]byte, error)

	// Close releases any resources used for the Keeper.
	Close() error

	// ErrorAs allows drivers to expose driver-specific types for returned
	// errors.
	//
	// See https://gocloud.dev/concepts/as/ for background information.
	ErrorAs(err error, i interface{}) bool

	// ErrorCode should return a code that describes the error, which was returned
	// by one of the other methods in this interface.
	ErrorCode(error) gcerrors.ErrorCode
}

Keeper holds the key information to encrypt a plain text message into a cipher message, as well as decrypt a cipher message into a plain text message.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier