From d4e5951da487c6bce054eb00cc34413b225d119d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Prajczer=20P=C3=A9ter?= <prajczer.peter@hallgato.ppke.hu>
Date: Sun, 1 Mar 2020 11:33:59 +0100
Subject: [PATCH] added finished code for lab1

---
 .gitignore                  |  2 ++
 ITKoin_01_Prajczer_Peter.py | 21 ++++++++++++---------
 2 files changed, 14 insertions(+), 9 deletions(-)
 create mode 100644 .gitignore

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2ff22c9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+/.idea/
+*.pem
diff --git a/ITKoin_01_Prajczer_Peter.py b/ITKoin_01_Prajczer_Peter.py
index 17d0f22..23d9321 100644
--- a/ITKoin_01_Prajczer_Peter.py
+++ b/ITKoin_01_Prajczer_Peter.py
@@ -61,6 +61,7 @@ class ITKoin:
         rsakey = RSA.import_key(publickeyfilecontent)
         rsapublickey = rsakey.publickey()
         self.rsapublickey = rsapublickey
+        return rsapublickey
         # pprint(vars(self.rsapublickey))
 
 
@@ -93,20 +94,22 @@ class ITKoin:
         # hozz létre egy verify objektumot
         verifyobject = pkcs1_15.new(rsapublickey)
         # az adatot töltsd be egy hash objektumba a create_hashobject(data) használatával
-        hashobject =  self.create_hashobject(data)
+        hashobject = self.create_hashobject(data)
         # dekódold base64 kódolással az aláírás értéket
-        signaturevalue =  b64decode(b64signaturevalue)
-        signatureerror =  verifyobject.verify(signaturevalue, hashobject)
-        # értéke: True, ha az aláírás érvényes
-        validsignature =  True
-        return validsignature
+        signaturevalue = b64decode(b64signaturevalue)
+        # ellenőrizd az aláírást
+        try:
+            verifyobject.verify(hashobject, signaturevalue)
+        except ValueError:
+            return False
+        return True
 
 
 if __name__ == '__main__':
     test_coin = ITKoin()
     # test_coin.generate_rsa_key("prajczer")
     test_coin.load_key("prajczer")
-    test_coin.load_public_key("prajczer")
+    rsapublickey = test_coin.load_public_key("prajczer")
     test_coin.create_hashobject("random")
-    test_coin.create_signature('random')
-    test_coin.verify_signature(@fasz kivan)
+    signo = test_coin.create_signature('random')
+    test_coin.verify_signature('random', signo, rsapublickey )
-- 
GitLab