@@ -250,8 +250,11 @@ def _load_pkcs1_der(cls, keyfile):
250
250
251
251
"""
252
252
# pylint: disable=import-outside-toplevel
253
- from adafruit_rsa .tools .pyasn1 .codec .der import decoder
254
- from adafruit_rsa .asn1 import AsnPubKey
253
+ try :
254
+ from adafruit_rsa .tools .pyasn1 .codec .der import decoder
255
+ from adafruit_rsa .asn1 import AsnPubKey
256
+ except ImportError as err :
257
+ raise ImportError ("This functionality requires the pyasn1 library" ) from err
255
258
256
259
(priv , _ ) = decoder .decode (keyfile , asn1Spec = AsnPubKey ())
257
260
return cls (n = int (priv ["modulus" ]), e = int (priv ["publicExponent" ]))
@@ -263,7 +266,10 @@ def _save_pkcs1_der(self):
263
266
:rtype: bytes
264
267
"""
265
268
# pylint: disable=import-outside-toplevel
266
- from pyasn1 .codec .der import encoder
269
+ try :
270
+ from pyasn1 .codec .der import encoder
271
+ except ImportError as err :
272
+ raise ImportError ("This functionality requires the library" ) from err
267
273
from rsa .asn1 import AsnPubKey
268
274
269
275
# Create the ASN object
@@ -328,9 +334,12 @@ def load_pkcs1_openssl_der(cls, keyfile):
328
334
329
335
"""
330
336
# pylint: disable=import-outside-toplevel
331
- from adafruit_rsa .asn1 import OpenSSLPubKey
332
- from pyasn1 .codec .der import decoder
333
- from pyasn1 .type import univ
337
+ try :
338
+ from adafruit_rsa .asn1 import OpenSSLPubKey
339
+ from pyasn1 .codec .der import decoder
340
+ from pyasn1 .type import univ
341
+ except ImportError as err :
342
+ raise ImportError ("This functionality requires the pyasn1 library" ) from err
334
343
335
344
(keyinfo , _ ) = decoder .decode (keyfile , asn1Spec = OpenSSLPubKey ())
336
345
@@ -477,9 +486,12 @@ def _load_pkcs1_der(cls, keyfile):
477
486
478
487
"""
479
488
480
- from adafruit_rsa .tools .pyasn1 .codec .der import ( # pylint: disable=import-outside-toplevel
481
- decoder ,
482
- )
489
+ try :
490
+ from adafruit_rsa .tools .pyasn1 .codec .der import ( # pylint: disable=import-outside-toplevel
491
+ decoder ,
492
+ )
493
+ except ImportError as err :
494
+ raise ImportError ("This functionality requires the pyasn1 library" ) from err
483
495
484
496
(priv , _ ) = decoder .decode (keyfile )
485
497
@@ -521,8 +533,11 @@ def _save_pkcs1_der(self):
521
533
:rtype: bytes
522
534
"""
523
535
# pylint: disable=import-outside-toplevel
524
- from pyasn1 .type import univ , namedtype
525
- from pyasn1 .codec .der import encoder
536
+ try :
537
+ from pyasn1 .type import univ , namedtype
538
+ from pyasn1 .codec .der import encoder
539
+ except ImportError as err :
540
+ raise ImportError ("This functionality requires the pyasn1 library" ) from err
526
541
527
542
class AsnPrivKey (univ .Sequence ):
528
543
"""Creates PKCS#1 DER Formatted AsnPrivKey"""
0 commit comments