From 792b1016cd6f14e91a25f30b71ab2f936dc63b53 Mon Sep 17 00:00:00 2001 From: Moul <moul@moul.re> Date: Sun, 8 Dec 2019 20:42:32 +0200 Subject: [PATCH] [feat] #113: Handle block signature verification --- duniterpy/key/verifying_key.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/duniterpy/key/verifying_key.py b/duniterpy/key/verifying_key.py index 87a189c2..54bbae8b 100644 --- a/duniterpy/key/verifying_key.py +++ b/duniterpy/key/verifying_key.py @@ -11,6 +11,7 @@ import libnacl.sign import libnacl.encode from duniterpy.documents import Document +from duniterpy.documents.block import Block from .base58 import Base58Encoder @@ -34,7 +35,13 @@ class VerifyingKey(libnacl.sign.Verifier): :return: """ signature = base64.b64decode(document.signatures[0]) - prepended = signature + bytes(document.raw(), "ascii") + if isinstance(document, Block): + content_to_verify = "InnerHash: {0}\nNonce: {1}\n".format( + document.inner_hash, document.nonce + ) + else: + content_to_verify = document.raw() + prepended = signature + bytes(content_to_verify, "ascii") try: self.verify(prepended) -- GitLab