Skip to content

Commit

Permalink
Merge pull request #11 from mpdavis/9-incorrect-error-message
Browse files Browse the repository at this point in the history
Handle signature verification faliures
  • Loading branch information
Michael Davis committed Jan 5, 2016
2 parents 30d07a6 + 2200ecc commit 2c6758b
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
4 changes: 4 additions & 0 deletions jose/exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ class JWSError(JOSEError):
pass


class JWSSignatureError(JWSError):
pass


class JWSAlgorithmError(JWSError):
pass

Expand Down
5 changes: 4 additions & 1 deletion jose/jws.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from jose.jwk import get_algorithm_object
from jose.constants import ALGORITHMS
from jose.exceptions import JWSError
from jose.exceptions import JWSSignatureError
from jose.utils import base64url_encode
from jose.utils import base64url_decode

Expand Down Expand Up @@ -203,7 +204,9 @@ def _verify_signature(payload, signing_input, header, signature, key='', algorit
key = alg_obj.prepare_key(key)

if not alg_obj.verify(signing_input, key, signature):
raise JWSError('Signature verification failed')
raise JWSSignatureError()

except JWSSignatureError:
raise JWSError('Signature verification failed.')
except JWSError:
raise JWSError('Invalid or unsupported algorithm: %s' % alg)

0 comments on commit 2c6758b

Please sign in to comment.