gpg

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 22, 2017 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config added in v1.2.0

type Config struct {
	Binary      string
	Args        []string
	Debug       bool
	AlwaysTrust bool
}

Config is the gpg wrapper config

type GPG added in v1.2.0

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

GPG is a gpg wrapper

func New added in v1.2.0

func New(cfg Config) *GPG

New creates a new GPG wrapper

func (*GPG) Decrypt added in v1.2.0

func (g *GPG) Decrypt(path string) ([]byte, error)

Decrypt will try to decrypt the given file

func (*GPG) Encrypt added in v1.2.0

func (g *GPG) Encrypt(path string, content []byte, recipients []string) error

Encrypt will encrypt the given content for the recipients. If alwaysTrust is true the trust-model will be set to always as to avoid (annoying) "unuseable public key" errors when encrypting.

func (*GPG) ExportPublicKey added in v1.2.0

func (g *GPG) ExportPublicKey(id, filename string) error

ExportPublicKey will export the named public key to the location given

func (*GPG) FindPrivateKeys added in v1.2.0

func (g *GPG) FindPrivateKeys(search ...string) (KeyList, error)

FindPrivateKeys searches for the given private keys

func (*GPG) FindPublicKeys added in v1.2.0

func (g *GPG) FindPublicKeys(search ...string) (KeyList, error)

FindPublicKeys searches for the given public keys

func (*GPG) GetRecipients added in v1.2.0

func (g *GPG) GetRecipients(file string) ([]string, error)

GetRecipients returns a list of recipient IDs for a given file

func (*GPG) ImportPublicKey added in v1.2.0

func (g *GPG) ImportPublicKey(filename string) error

ImportPublicKey will import a key from the given location

func (*GPG) ListPrivateKeys added in v1.2.0

func (g *GPG) ListPrivateKeys() (KeyList, error)

ListPrivateKeys returns a parsed list of GPG secret keys

func (*GPG) ListPublicKeys added in v1.2.0

func (g *GPG) ListPublicKeys() (KeyList, error)

ListPublicKeys returns a parsed list of GPG public keys

type Identity

type Identity struct {
	Name    string
	Comment string
	Email   string
}

Identity is a GPG identity, one key can have many IDs

func (Identity) ID

func (i Identity) ID() string

ID returns the GPG ID format

func (Identity) String

func (i Identity) String() string

String implement fmt.Stringer. This method resembels the output gpg uses for user-ids

type Key

type Key struct {
	KeyType        string
	KeyLength      int
	Validity       string
	CreationDate   time.Time
	ExpirationDate time.Time
	Ownertrust     string
	Fingerprint    string
	Identities     map[string]Identity
	SubKeys        map[string]struct{}
}

Key is a GPG key (public or secret)

func (Key) ID added in v1.1.0

func (k Key) ID() string

ID returns the short fingerprint

func (Key) IsUseable

func (k Key) IsUseable() bool

IsUseable returns true if GPG would assume this key is useable for encryption

func (Key) OneLine

func (k Key) OneLine() string

OneLine prints a terse representation of this key on one line (includes only the first identity!)

func (Key) String

func (k Key) String() string

String implement fmt.Stringer. This method produces output that is close to, but not exactly the same, as the output form GPG itself

type KeyList

type KeyList []Key

KeyList is a searchable slice of Keys

func (KeyList) FindKey

func (kl KeyList) FindKey(id string) (Key, error)

FindKey will try to find the requested key

func (KeyList) UseableKeys

func (kl KeyList) UseableKeys() KeyList

UseableKeys returns the list of useable (valid keys)

Jump to

Keyboard shortcuts

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