def testSmallFile(self): clear_file = tempfile.NamedTemporaryFile(delete=False, dir=self.testdir) crypt_file = tempfile.NamedTemporaryFile(delete=False, dir=self.testdir) clear_file2 = tempfile.NamedTemporaryFile(delete=False, dir=self.testdir) clear_file.write("abc") clear_file.close() crypt_file.close() clear_file2.close() encrypt_file(self.password, clear_file.name, crypt_file.name) decrypt_file(self.password, crypt_file.name, clear_file2.name) self.assertTrue(filecmp.cmp(clear_file.name, clear_file2.name, shallow=False)) self.assertFalse(filecmp.cmp(clear_file.name, crypt_file.name, shallow=False))
def testOpenSSLCompatabilityEncrypt(self): clear_file = tempfile.NamedTemporaryFile(delete=False, dir=self.testdir) crypt_file = tempfile.NamedTemporaryFile(delete=False, dir=self.testdir) clear_file2 = tempfile.NamedTemporaryFile(delete=False, dir=self.testdir) clear_file.write(self.tinydata) clear_file.close() crypt_file.close() clear_file2.close() encrypt_file(self.password, clear_file.name, crypt_file.name) cmd = "openssl enc -d -md sha256 -aes-256-cbc -pass pass:%s -in %s -out %s" % \ (self.password, crypt_file.name, clear_file2.name) os.system(cmd) self.assertTrue(filecmp.cmp(clear_file.name, clear_file2.name, shallow=False)) self.assertFalse(filecmp.cmp(clear_file.name, crypt_file.name, shallow=False))
def copy_file(self, path, name=None): log.debug("CopyFile: ", path, name) if not name: name = os.path.basename(path) if self.dry_run: print(utils.escape(name)) sys.stdout.flush() else: if self.backup.encrypt: if name: name = name + ".enc" # Otherwise left as None enc_path = path + ".enc" cryptor.encrypt_file(self.config.data_passphrase, path, enc_path) self.store.send(enc_path, os.path.join(self.backup_folder, name)) os.remove(enc_path) else: self.store.send(path, os.path.join(self.backup_folder, name))