Skip to content

Commit cb375b6

Browse files
committed
Verify alg
1 parent 53c54db commit cb375b6

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

doc/jws.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,10 @@ Or slightly different::
6363

6464
>>> key = SYMKey(key=b'My hollow echo chamber', alg="HS512")
6565
>>> _verifier = factory(_jwt)
66+
>>> _verifier.verify_alg('HS512')
67+
True
6668
>>> print(_verifier.verify_compact(_jwt, [key]))
67-
69+
"Please take a moment to register today"
6870

6971

7072

src/cryptojwt/jws/jws.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -399,8 +399,8 @@ def verify_alg(self, alg):
399399
return False
400400

401401

402-
def factory(token):
403-
_jw = JWS()
402+
def factory(token, **kwargs):
403+
_jw = JWS(**kwargs)
404404
if _jw.is_jws(token):
405405
return _jw
406406
else:

tests/test_06_jws.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -819,3 +819,15 @@ def test_extra_headers_3():
819819
sjwt = _jws.sign_compact(keys, abc=123)
820820
_jwt = factory(sjwt)
821821
assert set(_jwt.jwt.headers.keys()) == {'alg', 'foo', 'abc'}
822+
823+
824+
def test_factory_verify_alg():
825+
pkey = import_private_rsa_key_from_file(full_path("./size2048.key"))
826+
payload = "Please take a moment to register today"
827+
keys = [RSAKey(priv_key=pkey)]
828+
_signer = JWS(payload, alg='RS256')
829+
_signer.set_header_claim('foo', 'bar')
830+
_jws = _signer.sign_compact(keys, abc=123)
831+
_verifier = factory(_jws, alg='RS512')
832+
with pytest.raises(SignerAlgError):
833+
_verifier.verify_compact(_jws, keys)

0 commit comments

Comments
 (0)