diff --git a/src/cryptojwt/jws/jws.py b/src/cryptojwt/jws/jws.py index fa417e12..11421922 100644 --- a/src/cryptojwt/jws/jws.py +++ b/src/cryptojwt/jws/jws.py @@ -228,12 +228,12 @@ def verify_compact_verbose(self, jws=None, keys=None, allow_none=False, sigalg=N try: if not verifier.verify(jwt.sign_input(), jwt.signature(), _key): continue - except (BadSignature, IndexError): - pass + except (BadSignature, IndexError) as err: + logger.warning(f'BadSignature caught with {jwt}: "{err}"') except (ValueError, TypeError) as err: - logger.warning('Exception "{}" caught'.format(err)) + logger.warning(f'Exception with {jwt.headers}: "{err}"') else: - logger.debug("Verified message using key with kid=%s" % key.kid) + logger.debug(f"Verified message using key with kid={key.kid}") self.msg = jwt.payload() self.key = key self._protected_headers = jwt.headers.copy() diff --git a/src/cryptojwt/jwt.py b/src/cryptojwt/jwt.py index 3eea464d..6171017e 100755 --- a/src/cryptojwt/jwt.py +++ b/src/cryptojwt/jwt.py @@ -372,11 +372,9 @@ def unpack(self, token): if self.msg_cls: _msg_cls = self.msg_cls else: - try: - # try to find a issuer specific message class - _msg_cls = self.iss2msg_cls[_info["iss"]] - except KeyError: - _msg_cls = None + _msg_cls = self.iss2msg_cls.get(_info["iss"], None) + if not _msg_cls: + LOGGER.debug(f"both msg_cls and iss2msg are None for the issuer {_info['iss']}") if _msg_cls: vp_args = {"skew": self.skew}