M cli.go => cli.go +23 -4
@@ 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
M cli_test.go => cli_test.go +5 -0
@@ 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
M config.go => config.go +0 -7
@@ 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
}