Implement blackbox in Golang (#250)

* Initial release
This commit is contained in:
Tom Limoncelli
2020-07-24 14:21:33 -04:00
committed by GitHub
parent e049c02655
commit 1c77c87555
86 changed files with 6074 additions and 22 deletions

15
models/crypters.go Normal file
View File

@@ -0,0 +1,15 @@
package models
// Crypter is gpg binaries, go-opengpg, etc.
type Crypter interface {
// Name returns the plug-in's canonical name.
Name() string
// Decrypt name+".gpg", possibly overwriting name.
Decrypt(filename string, umask int, overwrite bool) error
// Encrypt name, overwriting name+".gpg"
Encrypt(filename string, umask int, receivers []string) (string, error)
// Cat outputs a file, unencrypting if needed.
Cat(filename string) ([]byte, error)
// AddNewKey extracts keyname from sourcedir's GnuPG chain to destdir keychain.
AddNewKey(keyname, repobasename, sourcedir, destdir string) ([]string, error)
}