From 0a77feb7bf1c90ed42f709b498acacb5a08e1eca Mon Sep 17 00:00:00 2001 From: Roland Mikhel Date: Mon, 17 Jul 2023 15:12:18 +0200 Subject: [PATCH] imgtool: Fix getpriv error return with private key This commit fixes a bug with the getpriv command using ECDSA keys. Signed-off-by: Roland Mikhel Change-Id: I66c1365a855e97199921ac136a18e26988bce508 --- scripts/imgtool/keys/ecdsa.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scripts/imgtool/keys/ecdsa.py b/scripts/imgtool/keys/ecdsa.py index b70153c88..52357b1d0 100644 --- a/scripts/imgtool/keys/ecdsa.py +++ b/scripts/imgtool/keys/ecdsa.py @@ -30,7 +30,7 @@ def _unsupported(self, name): raise ECDSAUsageError("Operation {} requires private key".format(name)) def _get_public(self): - return self.key.public_key() + return self.key def get_public_bytes(self): # The key is embedded into MBUboot in "SubjectPublicKeyInfo" format @@ -65,6 +65,9 @@ class ECDSAPrivateKey(PrivateBytesMixin): def __init__(self, key): self.key = key + def _get_public(self): + return self.key.public_key() + def _build_minimal_ecdsa_privkey(self, der, format): ''' Builds a new DER that only includes the EC private key, removing the @@ -179,7 +182,7 @@ def verify(self, signature, payload): signature_algorithm=ec.ECDSA(SHA256())) -class ECDSA256P1(ECDSA256P1Public, ECDSAPrivateKey): +class ECDSA256P1(ECDSAPrivateKey, ECDSA256P1Public): """ Wrapper around an ECDSA (p256) private key. """ @@ -252,7 +255,7 @@ def verify(self, signature, payload): signature_algorithm=ec.ECDSA(SHA384())) -class ECDSA384P1(ECDSA384P1Public, ECDSAPrivateKey): +class ECDSA384P1(ECDSAPrivateKey, ECDSA384P1Public): """ Wrapper around an ECDSA (p384) private key. """