mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 10:52:25 +00:00
accounts/keystore: added test case for zeroKey
This commit is contained in:
parent
d88437cf10
commit
2d1031ba7b
2 changed files with 13 additions and 0 deletions
|
|
@ -495,5 +495,6 @@ func (ks *KeyStore) ImportPreSaleKey(keyJSON []byte, passphrase string) (account
|
|||
|
||||
// zeroKey zeroes a private key in memory.
|
||||
func zeroKey(k *ecdsa.PrivateKey) {
|
||||
k.PublicKey = ecdsa.PublicKey{}
|
||||
k.D.SetUint64(uint64(0))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ package keystore
|
|||
|
||||
import (
|
||||
"io/ioutil"
|
||||
"math/big"
|
||||
"math/rand"
|
||||
"os"
|
||||
"runtime"
|
||||
|
|
@ -218,6 +219,17 @@ func TestSignRace(t *testing.T) {
|
|||
t.Errorf("Account did not lock within the timeout")
|
||||
}
|
||||
|
||||
func TestZeroKey(t *testing.T) {
|
||||
key, err := crypto.GenerateKey()
|
||||
if err != nil {
|
||||
t.Fatalf("failed to generate key: %v", key)
|
||||
}
|
||||
zeroKey(key)
|
||||
if key.D.Cmp(big.NewInt(0)) != 0 {
|
||||
t.Fatalf("failed to zero out key: %v", key)
|
||||
}
|
||||
}
|
||||
|
||||
// Tests that the wallet notifier loop starts and stops correctly based on the
|
||||
// addition and removal of wallet event subscriptions.
|
||||
func TestWalletNotifierLifecycle(t *testing.T) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue