From 0f0285bc494405073b0d36985c1cb15ea9b0db54 Mon Sep 17 00:00:00 2001 From: KAI Date: Wed, 7 Jun 2023 18:16:14 +0800 Subject: [PATCH 1/2] fix bugs: key is nil in DecryptKey --- accounts/keystore/passphrase.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/accounts/keystore/passphrase.go b/accounts/keystore/passphrase.go index 1701fbf53634e..3119b3ec75093 100644 --- a/accounts/keystore/passphrase.go +++ b/accounts/keystore/passphrase.go @@ -226,6 +226,10 @@ func DecryptKey(keyjson []byte, auth string) (*Key, error) { return nil, err } key := crypto.ToECDSAUnsafe(keyBytes) + if key == nil { + return nil, fmt.Errorf("failed to convert key bytes to ECDSA key") + } + id, err := uuid.FromBytes(keyId) if err != nil { return nil, err From d6d4338650a49b77983cf357f17d602d142f2bc7 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Wed, 7 Jun 2023 12:34:53 +0200 Subject: [PATCH 2/2] accounts/keystore: use ToECDSA --- accounts/keystore/passphrase.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/accounts/keystore/passphrase.go b/accounts/keystore/passphrase.go index 3119b3ec75093..8d6ed2b14ef2b 100644 --- a/accounts/keystore/passphrase.go +++ b/accounts/keystore/passphrase.go @@ -225,14 +225,13 @@ func DecryptKey(keyjson []byte, auth string) (*Key, error) { if err != nil { return nil, err } - key := crypto.ToECDSAUnsafe(keyBytes) - if key == nil { - return nil, fmt.Errorf("failed to convert key bytes to ECDSA key") + key, err := crypto.ToECDSA(keyBytes) + if err != nil { + return nil, fmt.Errorf("invalid key: %w", err) } - id, err := uuid.FromBytes(keyId) if err != nil { - return nil, err + return nil, fmt.Errorf("invalid UUID: %w", err) } return &Key{ Id: id,