diff options
Diffstat (limited to 'client/src/leap/soledad/client/_crypto.py')
-rw-r--r-- | client/src/leap/soledad/client/_crypto.py | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/client/src/leap/soledad/client/_crypto.py b/client/src/leap/soledad/client/_crypto.py index deba5590..cee4f0f4 100644 --- a/client/src/leap/soledad/client/_crypto.py +++ b/client/src/leap/soledad/client/_crypto.py @@ -128,14 +128,14 @@ def decrypt_sym(data, key, iv): return plaintext - class BlobEncryptor(object): """ Encrypts a payload associated with a given Document. """ - def __init__(self, doc_info, content_fd, result=None, secret=None, iv=None): + def __init__(self, doc_info, content_fd, result=None, secret=None, + iv=None): if iv is None: iv = os.urandom(16) else: @@ -181,12 +181,12 @@ class BlobEncryptor(object): def write(data): self._preamble.write(data) self._hmac.write(data) - + current_time = int(time.time()) write(b'\x80') write(struct.pack( - 'Qbb', + 'Qbb', current_time, ENC_SCHEME.symkey, ENC_METHOD.aes_256_ctr)) @@ -299,12 +299,11 @@ class AESEncryptor(object): cipher = _get_aes_ctr_cipher(key, iv) self.encryptor = cipher.encryptor() - + if fd is None: fd = BytesIO() self.fd = fd - self.done = False def write(self, data): @@ -334,7 +333,6 @@ class HMACWriter(object): self.result.write(self._hmac.digest()) - class VerifiedEncrypter(object): implements(interfaces.IConsumer) @@ -346,7 +344,7 @@ class VerifiedEncrypter(object): def write(self, data): enc_chunk = self.crypter.write(data) self.hmac.write(enc_chunk) - + class AESDecryptor(object): @@ -369,7 +367,6 @@ class AESDecryptor(object): self.done = False self.deferred = defer.Deferred() - def write(self, data): decrypted = self.decryptor.update(data) self.fd.write(decrypted) |