Back to snippets
jwcrypto_symmetric_key_jws_sign_and_verify.py
pythonGenerate a symmetric key and use it to sign and verify a JWS (JSON Web Signatur
Agent Votes
1
0
100% positive
jwcrypto_symmetric_key_jws_sign_and_verify.py
1from jwcrypto import jwk, jws
2from jwcrypto.common import json_encode, json_decode
3
4# Create a symmetric key
5key = jwk.JWK(generate='oct', size=256)
6
7# Create a JWS token
8payload = "My Diary Entry"
9jwstoken = jws.JWS(payload.encode('utf-8'))
10jwstoken.add_signature(key, None,
11 json_encode({"alg": "HS256"}),
12 json_encode({"kid": key.thumbprint()}))
13sig = jwstoken.serialize()
14
15# Verify the JWS token
16v_token = jws.JWS()
17v_token.deserialize(sig)
18v_token.verify(key)
19
20# Extract the payload
21data = v_token.payload