commit 797ff02fc54abc3ddfc309f05d087b48fffee40c
parent cc00343e839bf8271db67410a91945ff16f90df9
Author: Sean Enck <sean@ttypty.com>
Date: Tue, 26 Oct 2021 18:44:36 -0400
support running a command to get the key too
Diffstat:
1 file changed, 10 insertions(+), 0 deletions(-)
diff --git a/internal/encdec.go b/internal/encdec.go
@@ -23,6 +23,8 @@ const (
PlainKeyMode = "plaintext"
// LockboxKeyMode is a lockbox-based daemon key resolution.
LockboxKeyMode = "lockbox"
+ // CommandKeyMode will run an external command to get the key (from stdout).
+ CommandKeyMode = "command"
)
type (
@@ -76,6 +78,14 @@ func getKey(keyMode, name string) ([]byte, error) {
return nil, err
}
data = b
+ case CommandKeyMode:
+ parts := strings.Split(name, " ")
+ cmd := exec.Command(parts[0], parts[1:]...)
+ b, err := cmd.Output()
+ if err != nil {
+ return nil, err
+ }
+ data = b
case LockboxKeyMode:
exe, err := os.Executable()
if err != nil {