From 49856f36361a71aba71c43c77cebb22340010181 Mon Sep 17 00:00:00 2001 From: equinox Date: Fri, 1 Apr 2011 05:42:06 +0200 Subject: initial checkin --- versign.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 versign.py (limited to 'versign.py') diff --git a/versign.py b/versign.py new file mode 100644 index 0000000..aa406df --- /dev/null +++ b/versign.py @@ -0,0 +1,30 @@ +import M2Crypto.RSA +import M2Crypto.EVP +import time, sys +import base64, cgi + +str = sys.argv[1] +data = cgi.parse_qs(str) + +ts = int(data['ts'][0]) +user = data['user'][0] +signature = base64.urlsafe_b64decode(data['signature'][0]) + +data = '%d:%s' % (ts, user) + +algo = 'sha256' + +digest = M2Crypto.EVP.MessageDigest(algo) +digest.update(data) +digval = digest.final() + +key = M2Crypto.RSA.load_pub_key('rsa.pub') + +try: + if key.verify(digval, signature, algo = algo): + print 'OKAY' + else: + print 'FAIL' +except: + print 'FAIL (hard)' + -- cgit v1.2.1