[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