diff --git a/README.md b/README.md index da507f7..1c0ddce 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,19 @@ export KEYCTL_ENDPOINT=http://127.0.0.1:7070 ./keyctl get -id aabbccddeeff... ``` +Get secret of type `shamir` with share via environment variable: + +``` +export KEYCTL_SHARE=aabbccddeeff... +./keyctl get -id aabbccddeeff... +``` + +Get secret of type `shamir` with share via commandline flag: + +``` +./keyctl get -id aabbccddeeff... -share aabbccddeeff... +``` + ## Usage ``` diff --git a/pkg/cli/cli.go b/pkg/cli/cli.go index 10dbf4a..d2341b3 100644 --- a/pkg/cli/cli.go +++ b/pkg/cli/cli.go @@ -43,11 +43,8 @@ func Run(arg string) { if err != nil { exit(err) } - switch k.Type { - case core.Plain: - fmt.Println("Key ID:", k.ID) - case core.Shamir: - fmt.Println("Key ID:", k.ID) + fmt.Println("Key ID:", k.ID) + if k.Type == core.Shamir { fmt.Println("Key Share:", k.Key) } case "del": @@ -94,11 +91,11 @@ func Run(arg string) { if err != nil { exit(err) } - key.Key = out if json { + key.Key = out jsonOutput(key) // does not return } - fmt.Println(key.Key) + fmt.Println(out) case "ls": json := outputFlags() c := client() @@ -164,6 +161,9 @@ func getFlags() (id, share string, json bool, err error) { if id == "" { err = errors.New("missing flag: id") } + if share == "" { + share = os.Getenv("KEYCTL_SHARE") + } return }