aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cli.go27
-rw-r--r--cli_test.go5
-rw-r--r--config.go7
3 files changed, 28 insertions, 11 deletions
diff --git a/cli.go b/cli.go
index d858faa..446f757 100644
--- a/cli.go
+++ b/cli.go
@@ -134,9 +134,12 @@ func (cli *Cli) Add(issuer *Issuer) (err error) {
return nil
}
- var (
- logp = `Add`
- )
+ var logp = `Add`
+
+ cli.cfg.privateKey, err = loadPrivateKey(cli.cfg.PrivateKey, nil)
+ if err != nil {
+ return fmt.Errorf(`%s: %w`, logp, err)
+ }
err = cli.add(issuer)
if err != nil {
@@ -163,6 +166,11 @@ func (cli *Cli) Generate(label string, n int) (listOtp []string, err error) {
proto totp.Protocol
)
+ cli.cfg.privateKey, err = loadPrivateKey(cli.cfg.PrivateKey, nil)
+ if err != nil {
+ return nil, fmt.Errorf(`%s: %w`, logp, err)
+ }
+
issuer, err = cli.cfg.get(label)
if err != nil {
return nil, fmt.Errorf(`%s: %w`, logp, err)
@@ -201,6 +209,11 @@ func (cli *Cli) Import(providerName, file string) (n int, err error) {
issuer *Issuer
)
+ cli.cfg.privateKey, err = loadPrivateKey(cli.cfg.PrivateKey, nil)
+ if err != nil {
+ return 0, fmt.Errorf(`%s: %w`, logp, err)
+ }
+
providerName = strings.ToLower(providerName)
switch providerName {
case providerNameAegis:
@@ -278,8 +291,14 @@ func (cli *Cli) RemovePrivateKey() (err error) {
return nil
}
+ var logp = `RemovePrivateKey`
+
+ cli.cfg.privateKey, err = loadPrivateKey(cli.cfg.PrivateKey, nil)
+ if err != nil {
+ return fmt.Errorf(`%s: %w`, logp, err)
+ }
+
var (
- logp = `RemovePrivateKey`
oldPrivateKey = cli.cfg.privateKey
oldIssuers = cli.cfg.Issuers
diff --git a/cli_test.go b/cli_test.go
index 70a5e1d..81253b1 100644
--- a/cli_test.go
+++ b/cli_test.go
@@ -191,6 +191,11 @@ func TestCli_SetPrivateKey(t *testing.T) {
}
cli.cfg = cfg
+ cli.cfg.privateKey, err = loadPrivateKey(cli.cfg.PrivateKey, nil)
+ if err != nil {
+ t.Fatal(err)
+ }
+
var (
gotLabels []string = cli.List()
label string
diff --git a/config.go b/config.go
index 29a63e3..024450c 100644
--- a/config.go
+++ b/config.go
@@ -77,13 +77,6 @@ func loadConfig(content []byte) (cfg *config, err error) {
return nil, fmt.Errorf(`%s: %w`, logp, err)
}
- if len(cfg.PrivateKey) > 0 {
- cfg.privateKey, err = loadPrivateKey(cfg.PrivateKey, nil)
- if err != nil {
- return nil, fmt.Errorf(`%s: %w`, logp, err)
- }
- }
-
return cfg, nil
}