def verify(self, msg, crypto, key): """ Verifies a message using ECDSA cryptographic signature and key. ``crypto`` is the cryptographic signature ``key`` is the verifying key. Can be a real key object or a string. """ import ecdsa curve = getattr(ecdsa, self.bits_to_curve[self.bits]) vk = key if not isinstance(vk, ecdsa.VerifyingKey): vk = ecdsa.VerifyingKey.from_string(key, curve=curve) try: vk.verify(crypto, msg, hashfunc=self.hasher) except ecdsa.BadSignatureError: raise SignatureError("Could not validate signature") except AssertionError: raise SignatureError("Could not validate signature") return True
def verify(self, msg, crypto, key): """ Verifies a message using RSA cryptographic signature and key. ``crypto`` is the cryptographic signature ``key`` is the verifying key. Can be a real key object or a string. """ import Crypto.PublicKey.RSA as RSA self.hashm.update(msg) private_key = key if not isinstance(key, RSA._RSAobj): private_key = RSA.importKey(key) if not self.padder.new(private_key).verify(self.hashm, crypto): #:pycrypto 2.5 raise SignatureError("Could not validate signature") return True
def verify(self, msg, crypto, key): if not self.sign(msg, key) == crypto: raise SignatureError("Could not validate signature") return True