keychain

package
v2.4.8 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2022 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Overview

Package keychain implements a native secure password store for each platform.

Index

Constants

View Source
const (
	Pass              = "pass-app"
	SecretService     = "secret-service"
	SecretServiceDBus = "secret-service-dbus"
)
View Source
const Version = "k11"

Version is the keychain data version.

Variables

View Source
var (
	// ErrNoKeychain indicates that no suitable keychain implementation could be loaded.
	ErrNoKeychain = errors.New("no keychain") //nolint:gochecknoglobals

	// ErrMacKeychainRebuild is returned on macOS with blocked or corrupted keychain.
	ErrMacKeychainRebuild = errors.New("keychain error -25293")

	// Helpers holds all discovered keychain helpers. It is populated in init().
	Helpers map[string]helperConstructor //nolint:gochecknoglobals

)

Functions

This section is empty.

Types

type Keychain

type Keychain struct {
	// contains filtered or unexported fields
}

func NewKeychain

func NewKeychain(s *settings.Settings, keychainName string) (*Keychain, error)

NewKeychain creates a new native keychain.

func NewMissingKeychain

func NewMissingKeychain() *Keychain

NewMissingKeychain returns a new keychain that always returns an error.

func (*Keychain) Delete

func (kc *Keychain) Delete(userID string) error

func (*Keychain) Get

func (kc *Keychain) Get(userID string) (string, string, error)

Get returns the username and secret for the given userID.

func (*Keychain) List

func (kc *Keychain) List() ([]string, error)

func (*Keychain) Put

func (kc *Keychain) Put(userID, secret string) error

type SecretServiceDBusHelper

type SecretServiceDBusHelper struct{}

SecretServiceDBusHelper is wrapper around keybase/go-keychain/secretservice library.

func (*SecretServiceDBusHelper) Add

Add appends credentials to the store.

func (*SecretServiceDBusHelper) Delete

func (s *SecretServiceDBusHelper) Delete(serverURL string) error

Delete removes credentials from the store.

func (*SecretServiceDBusHelper) Get

func (s *SecretServiceDBusHelper) Get(serverURL string) (string, string, error)

Get retrieves credentials from the store. It returns username and secret as strings.

func (*SecretServiceDBusHelper) List

func (s *SecretServiceDBusHelper) List() (map[string]string, error)

List returns the stored serverURLs and their associated usernames.

Jump to

Keyboard shortcuts

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