def verify_signature(self): if not self.signature: return False message = self.sender + self.recipient + str(self.value) sender_public_key = import_key(self.sender) return verify(message.encode(), self.signature, sender_public_key)
def verify_msg(data, keyfile): try: print data msg = base64.b64decode(data) print msg except TypeError as inst: print str(inst) print "Not a Base64 encoded data." return data try: with open(keyfile, 'rb') as pf: pub = rsa.PublicKey.load_pkcs1(pf.read(), "PEM") msg_len = int(msg[0:4]) cipher = array('B', msg[4:msg_len+4]) org_len = int(msg[msg_len+4:msg_len+8]) sig = msg[msg_len+8:] moo = slowaes.AESModeOfOperation() raw = moo.decrypt(cipher, org_len, 2, _aes_key, moo.aes.keySize["SIZE_128"], _iv) print("Raw %s %r.", raw, sig) master = rsa.verify(raw, sig, pub) if master: return raw except IOError: print "We do not have a public key." return data except ValueError: print "Invalid data" return data return data
def verify_msg(data, keyfile): try: print data msg = base64.b64decode(data) print msg except TypeError as inst: print str(inst) print "Not a Base64 encoded data." return data try: with open(keyfile, "rb") as pf: pub = rsa.PublicKey.load_pkcs1(pf.read(), "PEM") msg_len = int(msg[0:4]) cipher = array("B", msg[4 : msg_len + 4]) org_len = int(msg[msg_len + 4 : msg_len + 8]) sig = msg[msg_len + 8 :] moo = slowaes.AESModeOfOperation() raw = moo.decrypt(cipher, org_len, 2, _aes_key, moo.aes.keySize["SIZE_128"], _iv) print ("Raw %s %r.", raw, sig) master = rsa.verify(raw, sig, pub) if master: return raw except IOError: print "We do not have a public key." return data except ValueError: print "Invalid data" return data return data
def verify_signature(self): if self.sender == '': return True if not self.signature: return False message = self.sender + self.recipient + str(self.value) encoded = base64.b64decode(self.sender.encode('utf8')) sender_public_formated = PEM.encode(encoded, 'RSA PUBLIC KEY') sender_public_key = import_key(sender_public_formated) return verify(message.encode(), self.signature, sender_public_key)
def decode_and_verify(data, public_key): data = base64.standard_b64decode(data) signature, data = data[:64], data[64:] return data, rsa.verify(data, signature, public_key)