driver

package
v0.37.0 Latest Latest
Warning

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

Go to latest
Published: Mar 12, 2024 License: Apache-2.0 Imports: 2 Imported by: 9

Documentation

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

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

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.

Jump to

Keyboard shortcuts

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