]> git.datanom.net - securemail.git/blobdiff - user.py
Make backwards compatible with nacl 1.0.x
[securemail.git] / user.py
diff --git a/user.py b/user.py
index fd3d39724e34770b1a0551a5b8797688789f9619..a4ab2f73e08fe3d5e7e20b95c17377be40ef9497 100644 (file)
--- a/user.py
+++ b/user.py
@@ -21,7 +21,6 @@ import pickle
 from db import DBInterface as DBI
 from cryptonize import Cryptonize
 from nacl.public import PublicKey
 from db import DBInterface as DBI
 from cryptonize import Cryptonize
 from nacl.public import PublicKey
-from nacl import __version__ as NACL_VERSION
 
 class NoSuchUser(Exception):
     pass
 
 class NoSuchUser(Exception):
     pass
@@ -38,13 +37,7 @@ class User:
 
     def store(self, key):
         crypto = Cryptonize()
 
     def store(self, key):
         crypto = Cryptonize()
-        if NACL_VERSION < "1.1.0":
-            from nacl.utils import random
-            from nacl.public import SecretBox
-            nonce = random(SecretBox.NONCE_SIZE)
-            cipher = crypto.symmetric_encrypt(key, pickle.dumps(self), nonce)
-        else:
-            cipher = crypto.symmetric_encrypt(key, pickle.dumps(self))
+        cipher = crypto.symmetric_encrypt(key, pickle.dumps(self))
         DBI.store_user(crypto.generate_hash(key), cipher)
 
     def load(self, key):
         DBI.store_user(crypto.generate_hash(key), cipher)
 
     def load(self, key):
@@ -127,7 +120,6 @@ if __name__ == '__main__':
             for attr, value in u.__dict__.items():
                 print ('{0}: {1}'.format(attr, value))
             print ('{0} - {1} - {2}'.format(u.name, u.email, u.pubkeys))
             for attr, value in u.__dict__.items():
                 print ('{0}: {1}'.format(attr, value))
             print ('{0} - {1} - {2}'.format(u.name, u.email, u.pubkeys))
-        from nacl.public import Box
         c = Cryptonize()
         keypair1 = c.get_key_pair()
         keypair2 = c.get_key_pair()
         c = Cryptonize()
         keypair1 = c.get_key_pair()
         keypair2 = c.get_key_pair()
@@ -135,18 +127,12 @@ if __name__ == '__main__':
             u.add_pubkey('test', keypair2[1])
         except KeyError:
             u.update_pubkey('test', keypair2[1])
             u.add_pubkey('test', keypair2[1])
         except KeyError:
             u.update_pubkey('test', keypair2[1])
-        bob_box = Box(keypair1[0], u.get_pubkey('test'))
         message = "Kill all humans æøåÅØÆ"
         message = "Kill all humans æøåÅØÆ"
-        encrypted = bob_box.encrypt(message.encode())
-        alice_box = Box(keypair2[0], keypair1[1])
-        plaintext = alice_box.decrypt(encrypted)
-        print (plaintext.decode())
-#        c = Cryptonize()
-#        key = 'æselØre' #c.get_random_key()
-#        cipher = c.symmetric_encrypt(key, pickle.dumps(u))
-#        obj = pickle.loads(c.symmetric_decrypt(key, cipher))
-#        for attr, value in obj.__dict__.items():
-#            print ('{0}: {1}'.format(attr, value))
+        print ("Message to encrypt: {0}".format(message))
+        encrypted = c.asymmetric_encrypt(keypair1[0], u.get_pubkey('test'), message)
+        print ("Message encrypted: {0}".format(encrypted))
+        plaintext = c.asymmetric_decrypt(keypair2[0], keypair1[1], encrypted)
+        print("Message decrypted: {0}".format(plaintext.decode()))
     except NoSuchUser:
         u = User()
         u.name = 'testname'
     except NoSuchUser:
         u = User()
         u.name = 'testname'
This page took 0.096444 seconds and 5 git commands to generate.