diff --git a/lbry/wallet/account.py b/lbry/wallet/account.py index c37457c5d..3a3d4c3f3 100644 --- a/lbry/wallet/account.py +++ b/lbry/wallet/account.py @@ -532,6 +532,9 @@ class Account: return ecdsa.SigningKey.from_pem(private_key_pem, hashfunc=sha256) async def maybe_migrate_certificates(self): + def to_der(private_key_pem): + return ecdsa.SigningKey.from_pem(private_key_pem, hashfunc=sha256).get_verifying_key().to_der() + if not self.channel_keys: return channel_keys = {} @@ -540,8 +543,7 @@ class Account: continue if "-----BEGIN EC PRIVATE KEY-----" not in private_key_pem: continue - private_key = ecdsa.SigningKey.from_pem(private_key_pem, hashfunc=sha256) - public_key_der = private_key.get_verifying_key().to_der() + public_key_der = await asyncio.get_event_loop().run_in_executor(None, to_der, private_key_pem) channel_keys[self.ledger.public_key_to_address(public_key_der)] = private_key_pem if self.channel_keys != channel_keys: self.channel_keys = channel_keys