X-Git-Url: http://git.datanom.net/securemail.git/blobdiff_plain/99dad5525028d89f6ef0ff91e2de3b1b251df6da..b49f84de2e0655566790f5f11a8ef15ac379b8b3:/user.py diff --git a/user.py b/user.py index fd3d397..a4ab2f7 100644 --- 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 nacl import __version__ as NACL_VERSION class NoSuchUser(Exception): pass @@ -38,13 +37,7 @@ class User: 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): @@ -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)) - from nacl.public import Box 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]) - bob_box = Box(keypair1[0], u.get_pubkey('test')) 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'