From 45b75351378430689f8dd7eaa65fc98763276bc4 Mon Sep 17 00:00:00 2001
From: libby kent <viskovitzzz@gmail.com>
Date: Mon, 8 Jun 2020 18:55:51 +0900
Subject: [PATCH] cmd/ethkey: support --passwordfile in generate command
 (#21183)

---
 cmd/ethkey/changepassword.go | 2 +-
 cmd/ethkey/generate.go       | 2 +-
 cmd/ethkey/inspect.go        | 2 +-
 cmd/ethkey/message.go        | 2 +-
 cmd/ethkey/utils.go          | 4 ++--
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/cmd/ethkey/changepassword.go b/cmd/ethkey/changepassword.go
index 32fde4ed6..efff83d83 100644
--- a/cmd/ethkey/changepassword.go
+++ b/cmd/ethkey/changepassword.go
@@ -51,7 +51,7 @@ Change the password of a keyfile.`,
 		}
 
 		// Decrypt key with passphrase.
-		passphrase := getPassphrase(ctx)
+		passphrase := getPassphrase(ctx, false)
 		key, err := keystore.DecryptKey(keyjson, passphrase)
 		if err != nil {
 			utils.Fatalf("Error decrypting key: %v", err)
diff --git a/cmd/ethkey/generate.go b/cmd/ethkey/generate.go
index 09b00cc9d..c2aa1c6fb 100644
--- a/cmd/ethkey/generate.go
+++ b/cmd/ethkey/generate.go
@@ -94,7 +94,7 @@ If you want to encrypt an existing private key, it can be specified by setting
 		}
 
 		// Encrypt key with passphrase.
-		passphrase := promptPassphrase(true)
+		passphrase := getPassphrase(ctx, true)
 		scryptN, scryptP := keystore.StandardScryptN, keystore.StandardScryptP
 		if ctx.Bool("lightkdf") {
 			scryptN, scryptP = keystore.LightScryptN, keystore.LightScryptP
diff --git a/cmd/ethkey/inspect.go b/cmd/ethkey/inspect.go
index ba03d4d93..b646e43aa 100644
--- a/cmd/ethkey/inspect.go
+++ b/cmd/ethkey/inspect.go
@@ -60,7 +60,7 @@ make sure to use this feature with great caution!`,
 		}
 
 		// Decrypt key with passphrase.
-		passphrase := getPassphrase(ctx)
+		passphrase := getPassphrase(ctx, false)
 		key, err := keystore.DecryptKey(keyjson, passphrase)
 		if err != nil {
 			utils.Fatalf("Error decrypting key: %v", err)
diff --git a/cmd/ethkey/message.go b/cmd/ethkey/message.go
index 5caea69ff..69c8cf092 100644
--- a/cmd/ethkey/message.go
+++ b/cmd/ethkey/message.go
@@ -62,7 +62,7 @@ To sign a message contained in a file, use the --msgfile flag.
 		}
 
 		// Decrypt key with passphrase.
-		passphrase := getPassphrase(ctx)
+		passphrase := getPassphrase(ctx, false)
 		key, err := keystore.DecryptKey(keyjson, passphrase)
 		if err != nil {
 			utils.Fatalf("Error decrypting key: %v", err)
diff --git a/cmd/ethkey/utils.go b/cmd/ethkey/utils.go
index 7b5a144c5..1863bbda8 100644
--- a/cmd/ethkey/utils.go
+++ b/cmd/ethkey/utils.go
@@ -52,7 +52,7 @@ func promptPassphrase(confirmation bool) string {
 // getPassphrase obtains a passphrase given by the user.  It first checks the
 // --passfile command line flag and ultimately prompts the user for a
 // passphrase.
-func getPassphrase(ctx *cli.Context) string {
+func getPassphrase(ctx *cli.Context, confirmation bool) string {
 	// Look for the --passwordfile flag.
 	passphraseFile := ctx.String(passphraseFlag.Name)
 	if passphraseFile != "" {
@@ -65,7 +65,7 @@ func getPassphrase(ctx *cli.Context) string {
 	}
 
 	// Otherwise prompt the user for the passphrase.
-	return promptPassphrase(false)
+	return promptPassphrase(confirmation)
 }
 
 // signHash is a helper function that calculates a hash for the given message
-- 
GitLab