From 7a3c481826bff30bac1073a928cdfa677521cfb5 Mon Sep 17 00:00:00 2001 From: Vlad Date: Tue, 17 Jan 2017 01:24:17 +0100 Subject: [PATCH] whisper: key generation added --- cmd/wnode/main.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cmd/wnode/main.go b/cmd/wnode/main.go index 4e4556b040..649623c39e 100644 --- a/cmd/wnode/main.go +++ b/cmd/wnode/main.go @@ -84,6 +84,7 @@ var ( requestMail = flag.Bool("r", false, "request expired messages from the bootstrap server") asymmetricMode = flag.Bool("a", false, "use asymmetric encryption") testMode = flag.Bool("t", false, "use of predefined parameters for diagnostics") + generateKey = flag.Bool("k", false, "generate and show the private key") argTTL = flag.Uint("ttl", 30, "time-to-live for messages in seconds") argWorkTime = flag.Uint("work", 5, "work time in seconds") @@ -163,6 +164,16 @@ func initialize() { var peers []*discover.Node var err error + if *generateKey { + key, err := crypto.GenerateKey() + if err != nil { + utils.Fatalf("Failed to generate private key: %s", err) + } + k := hex.EncodeToString(crypto.FromECDSA(key)) + fmt.Printf("Random private key: %s \n", k) + os.Exit(0) + } + if *testMode { password := []byte("test password for symmetric encryption") salt := []byte("test salt for symmetric encryption")