Skip to content
Snippets Groups Projects
Commit 792b1016 authored by Moul's avatar Moul
Browse files

[feat] #113: Handle block signature verification

parent c05e7d38
No related branches found
No related tags found
2 merge requests!94Merge dev into master for release 0.56.0,!89#113 Implement block signature verification
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment