gocloud.dev: gocloud.dev/secrets/driver Index | Files

package driver

import "gocloud.dev/secrets/driver"

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

driver.go

type Keeper Uses

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.

Package driver imports 2 packages (graph) and is imported by 2 packages. Updated 2019-07-25. Refresh now. Tools for package owners.