diff --git a/crypto/crypto.go b/crypto/crypto.go index 9865c87c4e..89423e0c43 100644 --- a/crypto/crypto.go +++ b/crypto/crypto.go @@ -120,6 +120,7 @@ func HexToECDSA(hexkey string) (*ecdsa.PrivateKey, error) { } // LoadECDSA loads a secp256k1 private key from the given file. +// The key data is expected to be hex-encoded. func LoadECDSA(file string) (*ecdsa.PrivateKey, error) { buf := make([]byte, 64) fd, err := os.Open(file) @@ -139,8 +140,8 @@ func LoadECDSA(file string) (*ecdsa.PrivateKey, error) { return ToECDSA(key), nil } -// SaveECDSA saves a secp256k1 private key to the given file with restrictive -// permissions +// SaveECDSA saves a secp256k1 private key to the given file with +// restrictive permissions. The key data is saved hex-encoded. func SaveECDSA(file string, key *ecdsa.PrivateKey) error { k := hex.EncodeToString(FromECDSA(key)) return ioutil.WriteFile(file, []byte(k), 0600) diff --git a/eth/backend.go b/eth/backend.go index 7799326fe2..264753aba8 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -3,7 +3,6 @@ package eth import ( "crypto/ecdsa" "fmt" - "io/ioutil" "math" "path" "strings" @@ -110,7 +109,7 @@ func (cfg *Config) nodeKey() (*ecdsa.PrivateKey, error) { if key, err = crypto.GenerateKey(); err != nil { return nil, fmt.Errorf("could not generate server key: %v", err) } - if err := ioutil.WriteFile(keyfile, crypto.FromECDSA(key), 0600); err != nil { + if err := crypto.SaveECDSA(keyfile, key); err != nil { glog.V(logger.Error).Infoln("could not persist nodekey: ", err) } return key, nil @@ -223,12 +222,10 @@ func New(config *Config) (*Ethereum, error) { if err != nil { return nil, err } - protocols := []p2p.Protocol{eth.protocolManager.SubProtocol} if config.Shh { protocols = append(protocols, eth.whisper.Protocol()) } - eth.net = &p2p.Server{ PrivateKey: netprv, Name: config.Name,