def verifySignature( publicKey, data, updateLevel, signature ) : payload = encode( ('DHT-DATA',data,updateLevel) ) if type(publicKey) is str : k = RSAKey() try : k.fromDER_PublicKey( publicKey ) except RSAError : return False else : k = publicKey try : digest = Digest(digestType).digest( payload ) k.verify( signature, digest, digestType ) return True except RSAError : return False