Example #1
0
def ecrecover():
    sig = "7c1886d96dc50f07a48fa7d72006809ac9f45d6b1c34b7a072ace679674c64a230aac08d000000000000000000000000000000000000000000000000000000000000001c9c88b967e65708ae5b744502ec117fae31b7f787753e63d8cea7047e789bd55d1d5557b6eca94f4f7473c862cfb5488980d7e1e3eb764f5f11b0fe2281931d2e"
    pubkey = "0000000000000000000000003f17f1962b36e491b30a40b2405849e597ba5fb5"

    sig = Signature(binascii.a2b_hex(sig))

    sig.recover_public_key_from_msg()
Example #2
0
 def _stamp_has_valid_wallet_signature(self):
     signature_bytes = self._evidence_of_decentralized_identity
     if signature_bytes is constants.NOT_SIGNED:
         return False
     else:
         signature = EthSignature(signature_bytes)
     proper_pubkey = signature.recover_public_key_from_msg(bytes(self.stamp))
     proper_address = proper_pubkey.to_checksum_address()
     return proper_address == self.checksum_public_address
Example #3
0
def test_blockchain_ursula_substantiates_stamp(blockchain_ursulas):
    first_ursula = list(blockchain_ursulas)[0]
    signature_as_bytes = first_ursula._evidence_of_decentralized_identity
    signature = EthSignature(signature_bytes=signature_as_bytes)
    proper_public_key_for_first_ursula = signature.recover_public_key_from_msg(bytes(first_ursula.stamp))
    proper_address_for_first_ursula = proper_public_key_for_first_ursula.to_checksum_address()
    assert proper_address_for_first_ursula == first_ursula.checksum_public_address

    # This method is a shortcut for the above.
    assert first_ursula._stamp_has_valid_wallet_signature
Example #4
0
def recover_public_key(message, signature_bytes):
    signature = Signature(signature_bytes)
    public_key = signature.recover_public_key_from_msg(message)
    return public_key
def ecdsa_verify(signature: bytes, data: bytes, address: bytes) -> bool:
    signature_obj = Signature(signature)
    recovered_pubkey = signature_obj.recover_public_key_from_msg(data)
    return recovered_pubkey.to_canonical_address() == address