Skip to content

Commit 9222673

Browse files
committed
isolate ecdsa key class imports to allow for missing library
1 parent 28dcc70 commit 9222673

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

jose/backends/cryptography_backend.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import six
2-
import ecdsa
2+
3+
try:
4+
from ecdsa import SigningKey as EcdsaSigningKey, VerifyingKey as EcdsaVerifyingKey
5+
except ImportError:
6+
SigningKey = VerifyingKey = None
37
from ecdsa.util import sigdecode_string, sigencode_string, sigdecode_der, sigencode_der
48

59
from jose.backends.base import Key
@@ -37,7 +41,7 @@ def __init__(self, key, algorithm, cryptography_backend=default_backend):
3741
self.prepared_key = key
3842
return
3943

40-
if isinstance(key, (ecdsa.SigningKey, ecdsa.VerifyingKey)):
44+
if None not in (EcdsaSigningKey, EcdsaVerifyingKey) and isinstance(key, (EcdsaSigningKey, EcdsaVerifyingKey)):
4145
# convert to PEM and let cryptography below load it as PEM
4246
key = key.to_pem().decode('utf-8')
4347

0 commit comments

Comments
 (0)