[Nym3-commit] r157 - trunk/nym3/Client
laurent at komite.net
laurent at komite.net
Sat Jan 29 22:18:04 CET 2005
Author: laurent
Date: 2005-01-29 22:17:57 +0100 (Sat, 29 Jan 2005)
New Revision: 157
Modified:
trunk/nym3/Client/Keyring.py
Log:
Finish keyring encryption.
Modified: trunk/nym3/Client/Keyring.py
===================================================================
--- trunk/nym3/Client/Keyring.py 2005-01-24 22:14:46 UTC (rev 156)
+++ trunk/nym3/Client/Keyring.py 2005-01-29 21:17:57 UTC (rev 157)
@@ -12,7 +12,7 @@
self.keyfile = keyfile
try:
f = open(keyfile, 'r')
- self.data = f.read()
+ self.datastring = f.read()
f.close
except IOError:
raise "Duh"
@@ -20,10 +20,10 @@
def decrypt(self, passphrase):
"""Decrypt the keyring"""
- salt = self.data[:SALT_LEN]
+ salt = self.datastring[:SALT_LEN]
key = sha1(salt + passphrase + salt)
key = key[:AES_KEY_LEN]
- clear = ctr_crypt(self.data[SALT_LEN:], key)
+ clear = ctr_crypt(self.datastring[SALT_LEN:], key)
digest = clear[:-DIGEST_LEN]
# Should digest really be a digest, or merely a fixed MAGIC
# string ? TODO.
@@ -39,6 +39,12 @@
for i in range(0, SALT_LEN):
salt = salt + chr(random.randint(0, 255))
key = sha1(salt + passphrase + salt)
- pass
-
-
+ clear = pickle.dumps(self.data)
+ encrypted = ctr_crypt(clear, key)
+ digest = sha1(clear + salt)
+ try:
+ f = open(self.keyfile, 'w')
+ f.write(salt + encrypted + digest)
+ f.close
+ except IOError:
+ raise "Duh"
More information about the Nym3-commit
mailing list