def test_password_recovery_level1(self): password = "******" su = SecureUser(password) sessionKey = su.unlock(password) text = "This is secure" encrypted = su.encrypt(text, sessionKey) self.assertEqual(text, su.decrypt(encrypted, sessionKey), "Could not en/decrypt userdata") print "Restoring password" adminpassword = "******" newPassword = "******" su.restore_user_password(newPassword, adminpassword) sessionKey = su.unlock(newPassword) self.assertEqual(text, su.decrypt(su.encrypt(text, sessionKey), sessionKey), "Could not en/decrypt userdata after password reset") self.assertEqual(text, su.decrypt(encrypted, sessionKey), "Could not en/decrypt userdata encrypted with privious key")
def test_password_recovery_level2(self): # Create an Admin User and get his keys admin = SecureUser("adminpw") keys = admin.raw_keys("adminpw") password = "******" su = SecureUser(password, 2, admin_public_key = keys['public_key']) sessionKey = su.unlock(password) text = "This is secure" encrypted = su.encrypt(text, sessionKey) self.assertEqual(text, su.decrypt(encrypted, sessionKey), "Could not en/decrypt userdata") print "Restoring password" adminpassword = "******" newPassword = "******" su.restore_user_password(newPassword, admin_private_key = keys['private_key']) sessionKey = su.unlock(newPassword) self.assertEqual(text, su.decrypt(su.encrypt(text, sessionKey), sessionKey), "Could not en/decrypt userdata after password reset") self.assertEqual(text, su.decrypt(encrypted, sessionKey), "Could not en/decrypt userdata encrypted with privious key")