def test_get_verified_data(self):
        sign_key = SigningKey.from_credentials("alice", "password", ScryptParams())

        message = "Hello world with utf-8 chars like éàè !"
        # Sign the message, the signed string is the message itself plus the
        # signature
        signed_message = sign_key.sign(bytes(message, 'utf-8'))  # type: bytes

        # Verify the message!
        verifier = VerifyingKey(sign_key.pubkey)
        verified_message = verifier.get_verified_data(signed_message)
        self.assertEqual(message, verified_message.decode('utf-8'))
Exemple #2
0
from duniterpy.key import VerifyingKey

if __name__ == '__main__':

    if len(sys.argv) < 2:
        print("""
        Usage:
            python verify_signed_message.py SIGNED_MESSAGE_FILEPATH
        """)

    # capture signed message filepath argument
    signed_message_path = sys.argv[1]

    # ask public key of the signer
    pubkeyBase58 = input("Enter public key of the message issuer: ")

    # open signed message file
    with open(signed_message_path, 'rb') as file_handler:
        signed_message = file_handler.read()

    # Verify the message!
    verifier = VerifyingKey(pubkeyBase58)
    try:
        message = verifier.get_verified_data(signed_message).decode('utf-8')
        print("Signature valid for this message:")
    except ValueError as error:
        message = str(error)

    print(message)