diff options
Diffstat (limited to 'verify.py')
| -rw-r--r-- | verify.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/verify.py b/verify.py new file mode 100644 index 0000000..71bc1e1 --- /dev/null +++ b/verify.py @@ -0,0 +1,24 @@ +import base64 + +from cryptography.hazmat.primitives import hashes +from cryptography.hazmat.primitives import serialization +from cryptography.hazmat.primitives.asymmetric import padding + +sig = base64.b64decode("base64EncodedSignature==") + +payload = '{"id":"01/IL/ABCD1234ABCD1234ABCD1234ABCD1234#ABCD1234","et":1,"ct":1,"c":"IL MOH","cn":null,"fn":null,"g":null,"f":null,"gl":null,"fl":null,"idp":null,"idl":null,"b":"0001-01-01","e":"0001-01-01","a":"0001-01-01","p":[{"idl":"0123456789","e":"2021-01-01"}]}' + +pl = payload.encode("utf-8") + +h = hashes.Hash(hashes.SHA256()) +h.update(pl) +digest = h.finalize() + +with open("certs/RamzorQRPubKey.pem", "rb") as f: + k = serialization.load_pem_public_key(f.read()) + k.verify( + sig, + digest, + padding.PKCS1v15(), + hashes.SHA256(), + ) |
