def test_a_1_3b(): _jwt = ("eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJl" "eHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0c" "nVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk") keys = [SYMKey(key=jwkest.intarr2bin(HMAC_KEY))] _jws2 = JWS() _jws2.verify_compact(_jwt, keys)
def test_a_1_1c(): hmac = jwkest.intarr2bin(HMAC_KEY) signer = SIGNER_ALGS["HS256"] header = '{"typ":"JWT",\r\n "alg":"HS256"}' payload = '{"iss":"joe",\r\n "exp":1300819380,\r\n "http://example.com/is_root":true}' sign_input = b64e(header) + '.' + b64e(payload) sig = signer.sign(sign_input, hmac) assert b64e(sig) == "dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk"
def test_hmac_256(): payload = b'Please take a moment to register today' keys = [SYMKey(key=jwkest.intarr2bin(HMAC_KEY))] _jws = JWS(payload, alg="HS256") _jwt = _jws.sign_compact(keys) info = JWS().verify_compact(_jwt, keys) assert info == payload.decode("utf-8")
def test_a_1_1c(): hmac = jwkest.intarr2bin(HMAC_KEY) signer = SIGNER_ALGS["HS256"] header = b'{"typ":"JWT",\r\n "alg":"HS256"}' payload = b'{"iss":"joe",\r\n "exp":1300819380,\r\n "http://example.com/is_root":true}' sign_input = b64e(header) + b'.' + b64e(payload) sig = signer.sign(sign_input, hmac) assert b64e(sig) == b'dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk'
def test_a_1_3a(): _jwt = "eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJleHAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnVlfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk" #keycol = {"hmac": jwkest.intarr2bin(HMAC_KEY)} header, claim, crypto, header_b64, claim_b64 = jwkest.unpack(_jwt) hmac = jwkest.intarr2bin(HMAC_KEY) signer = SIGNER_ALGS["HS256"] info = signer.verify(header_b64 + '.' + claim_b64, crypto, hmac)
def test_jws_1(): msg = {"iss": "joe", "exp": 1300819380, "http://example.com/is_root": True} jwk = SYMKey(key=jwkest.intarr2bin(HMAC_KEY)) _jws = JWS(msg, cty="JWT", alg="HS256", jwk=json.dumps(jwk.to_dict())) res = _jws.sign_compact() _jws2 = JWS(alg="HS256") _jws2.verify_compact(res) assert _jws2.msg == msg
def test_jws_1(): msg = {"iss": "joe", "exp": 1300819380, "http://example.com/is_root": True} key = SYMKey(key=jwkest.intarr2bin(HMAC_KEY)) _jws = JWS(msg, cty="JWT", alg="HS256", jwk=key.to_dict()) res = _jws.sign_compact() _jws2 = JWS(alg="HS256") _jws2.verify_compact(res, keys=[key]) assert _jws2.msg == msg
def test_jws_1(): msg = {"iss": "joe", "exp": 1300819380, "http://example.com/is_root": True} key = SYMKey(key=jwkest.intarr2bin(HMAC_KEY)) _jws = JWS(msg, cty="JWT", alg="HS256", jwk=key.serialize()) res = _jws.sign_compact() _jws2 = JWS(alg="HS256") _jws2.verify_compact(res, keys=[key]) assert _jws2.msg == msg
def test_jws_1(): msg = {"iss": "joe", "exp": 1300819380, "http://example.com/is_root": True} jwk = SYMKey(key=jwkest.intarr2bin(HMAC_KEY)) jwk.serialize() _jws = JWS(msg, cty="JWT", alg="HS256", jwk=json.dumps(jwk.to_dict())) res = _jws.sign_compact() _jws2 = JWS() _jws2.verify_compact(res) assert _jws2.msg == msg
def test_a_1_3a(): _jwt = ("eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJle" "HAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnV" "lfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk") # keycol = {"hmac": jwkest.intarr2bin(HMAC_KEY)} jwt = JWSig().unpack(_jwt) hmac = jwkest.intarr2bin(HMAC_KEY) signer = SIGNER_ALGS["HS256"] signer.verify(jwt.sign_input(), jwt.signature(), hmac)
def test_a_1_3a(): _jwt = ( "eyJ0eXAiOiJKV1QiLA0KICJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJqb2UiLA0KICJle" "HAiOjEzMDA4MTkzODAsDQogImh0dHA6Ly9leGFtcGxlLmNvbS9pc19yb290Ijp0cnV" "lfQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk") #keycol = {"hmac": jwkest.intarr2bin(HMAC_KEY)} header, claim, crypto, header_b64, claim_b64 = jwkest.unpack(_jwt) hmac = jwkest.intarr2bin(HMAC_KEY) signer = SIGNER_ALGS["HS256"] signer.verify(header_b64 + '.' + claim_b64, crypto, hmac)
def test_sign_json_hs256(): payload = "Please take a moment to register today" keys = [SYMKey(key=jwkest.intarr2bin(HMAC_KEY))] _jws = JWS(payload, alg="HS256") _sig = {'alg': 'HS256'} _jwt = _jws.sign_json(per_signature_head=[_sig], keys=keys, alg='HS256') _jwt_sig = "%s.%s.%s" % (_jwt['signatures'][0]['header'], b64e(_jwt['payload']), _jwt['signatures'][0]['signature']) info = _jws.verify_compact(_jwt_sig, keys) assert info == payload
def test_sign_json_hs256(): payload = "Please take a moment to register today" keys = [SYMKey(key=jwkest.intarr2bin(HMAC_KEY))] _jws = JWS(payload, alg="HS256") _sig = { 'alg': 'HS256' } _jwt = _jws.sign_json(per_signature_head=[_sig], keys=keys, alg='HS256') _jwt_sig = "%s.%s.%s" % ( _jwt['signatures'][0]['header'], b64e(_jwt['payload']), _jwt['signatures'][0]['signature'] ) info = _jws.verify_compact(_jwt_sig, keys) assert info == payload