|
1 | 1 | import base64 |
2 | 2 | import binascii |
3 | 3 | import hashlib |
4 | | -import re |
5 | | -import logging |
6 | 4 | import json |
| 5 | +import logging |
| 6 | +import re |
7 | 7 | import sys |
8 | | -import six |
9 | | - |
10 | 8 | from binascii import a2b_base64 |
11 | 9 |
|
| 10 | +import six |
12 | 11 | from Cryptodome.PublicKey import RSA |
13 | | -from Cryptodome.PublicKey.RSA import importKey |
14 | 12 | from Cryptodome.PublicKey.RSA import RsaKey |
| 13 | +from Cryptodome.PublicKey.RSA import importKey |
15 | 14 | from Cryptodome.Util.asn1 import DerSequence |
16 | | - |
| 15 | +from jwkest.ecc import ECCException |
17 | 16 | from requests import request |
18 | 17 |
|
| 18 | +from jwkest import JWKESTException |
| 19 | +from jwkest import UnknownAlgorithm |
19 | 20 | from jwkest import as_bytes |
20 | 21 | from jwkest import as_unicode |
| 22 | +from jwkest import b64d |
| 23 | +from jwkest import b64e |
21 | 24 | from jwkest import base64_to_long |
22 | 25 | from jwkest import base64url_to_long |
23 | 26 | from jwkest import long_to_base64 |
24 | | -from jwkest import JWKESTException |
25 | | -from jwkest import b64d |
26 | | -from jwkest import b64e |
27 | | -from jwkest import UnknownAlgorithm |
28 | 27 | from jwkest.ecc import NISTEllipticCurve |
29 | 28 | from jwkest.jwt import b2s_conv |
30 | 29 |
|
@@ -245,7 +244,7 @@ class Key(object): |
245 | 244 | required = ['kty'] |
246 | 245 |
|
247 | 246 | def __init__(self, kty="", alg="", use="", kid="", key=None, x5c=None, |
248 | | - x5t="", x5u="", **kwargs): |
| 247 | + x5t="", x5u="", **kwargs): |
249 | 248 | self.key = key |
250 | 249 | self.extra_args = kwargs |
251 | 250 |
|
@@ -420,8 +419,8 @@ class RSAKey(Key): |
420 | 419 | required = ['kty', 'n', 'e'] |
421 | 420 |
|
422 | 421 | def __init__(self, kty="RSA", alg="", use="", kid="", key=None, |
423 | | - x5c=None, x5t="", x5u="", n="", e="", d="", p="", q="", |
424 | | - dp="", dq="", di="", qi="", **kwargs): |
| 422 | + x5c=None, x5t="", x5u="", n="", e="", d="", p="", q="", |
| 423 | + dp="", dq="", di="", qi="", **kwargs): |
425 | 424 | Key.__init__(self, kty, alg, use, kid, key, x5c, x5t, x5u, **kwargs) |
426 | 425 | self.n = n |
427 | 426 | self.e = e |
@@ -568,7 +567,7 @@ class ECKey(Key): |
568 | 567 | required = ['crv', 'key', 'x', 'y'] |
569 | 568 |
|
570 | 569 | def __init__(self, kty="EC", alg="", use="", kid="", key=None, |
571 | | - crv="", x="", y="", d="", curve=None, **kwargs): |
| 570 | + crv="", x="", y="", d="", curve=None, **kwargs): |
572 | 571 | Key.__init__(self, kty, alg, use, kid, key, **kwargs) |
573 | 572 | self.crv = crv |
574 | 573 | self.x = x |
@@ -669,7 +668,7 @@ class SYMKey(Key): |
669 | 668 | required = ['k', 'kty'] |
670 | 669 |
|
671 | 670 | def __init__(self, kty="oct", alg="", use="", kid="", key=None, |
672 | | - x5c=None, x5t="", x5u="", k="", mtrl="", **kwargs): |
| 671 | + x5c=None, x5t="", x5u="", k="", mtrl="", **kwargs): |
673 | 672 | Key.__init__(self, kty, alg, use, kid, as_bytes(key), x5c, x5t, x5u, |
674 | 673 | **kwargs) |
675 | 674 | self.k = k |
@@ -797,7 +796,12 @@ def __init__(self): |
797 | 796 |
|
798 | 797 | def load_dict(self, dikt): |
799 | 798 | for kspec in dikt["keys"]: |
800 | | - self._keys.append(keyrep(kspec)) |
| 799 | + try: |
| 800 | + _key = keyrep(kspec) |
| 801 | + except ECCException as err: |
| 802 | + logger.warning(err) |
| 803 | + else: |
| 804 | + self._keys.append(_key) |
801 | 805 |
|
802 | 806 | def load_jwks(self, jwks): |
803 | 807 | """ |
|
0 commit comments