cmd/ethkey: add command to change key passphrase (#16516)
This change introduces 
    ethkey changepassphrase <keyfile>
to change the passphrase of a key file.
			
			
This commit is contained in:
		
				
					committed by
					
						 Felix Lange
						Felix Lange
					
				
			
			
				
	
			
			
			
						parent
						
							ea06da0892
						
					
				
				
					commit
					13af276418
				
			| @@ -28,11 +28,32 @@ import ( | ||||
| 	"gopkg.in/urfave/cli.v1" | ||||
| ) | ||||
|  | ||||
| // getPassPhrase obtains a passphrase given by the user.  It first checks the | ||||
| // --passphrase command line flag and ultimately prompts the user for a | ||||
| // promptPassphrase prompts the user for a passphrase.  Set confirmation to true | ||||
| // to require the user to confirm the passphrase. | ||||
| func promptPassphrase(confirmation bool) string { | ||||
| 	passphrase, err := console.Stdin.PromptPassword("Passphrase: ") | ||||
| 	if err != nil { | ||||
| 		utils.Fatalf("Failed to read passphrase: %v", err) | ||||
| 	} | ||||
|  | ||||
| 	if confirmation { | ||||
| 		confirm, err := console.Stdin.PromptPassword("Repeat passphrase: ") | ||||
| 		if err != nil { | ||||
| 			utils.Fatalf("Failed to read passphrase confirmation: %v", err) | ||||
| 		} | ||||
| 		if passphrase != confirm { | ||||
| 			utils.Fatalf("Passphrases do not match") | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return passphrase | ||||
| } | ||||
|  | ||||
| // 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, confirmation bool) string { | ||||
| 	// Look for the --passphrase flag. | ||||
| func getPassphrase(ctx *cli.Context) string { | ||||
| 	// Look for the --passwordfile flag. | ||||
| 	passphraseFile := ctx.String(passphraseFlag.Name) | ||||
| 	if passphraseFile != "" { | ||||
| 		content, err := ioutil.ReadFile(passphraseFile) | ||||
| @@ -44,20 +65,7 @@ func getPassPhrase(ctx *cli.Context, confirmation bool) string { | ||||
| 	} | ||||
|  | ||||
| 	// Otherwise prompt the user for the passphrase. | ||||
| 	passphrase, err := console.Stdin.PromptPassword("Passphrase: ") | ||||
| 	if err != nil { | ||||
| 		utils.Fatalf("Failed to read passphrase: %v", err) | ||||
| 	} | ||||
| 	if confirmation { | ||||
| 		confirm, err := console.Stdin.PromptPassword("Repeat passphrase: ") | ||||
| 		if err != nil { | ||||
| 			utils.Fatalf("Failed to read passphrase confirmation: %v", err) | ||||
| 		} | ||||
| 		if passphrase != confirm { | ||||
| 			utils.Fatalf("Passphrases do not match") | ||||
| 		} | ||||
| 	} | ||||
| 	return passphrase | ||||
| 	return promptPassphrase(false) | ||||
| } | ||||
|  | ||||
| // signHash is a helper function that calculates a hash for the given message | ||||
|   | ||||
		Reference in New Issue
	
	Block a user