|
@@ -119,12 +119,12 @@ class TestKey:
|
|
key = KeyfileKey.create(self.MockRepository(), self.MockArgs())
|
|
key = KeyfileKey.create(self.MockRepository(), self.MockArgs())
|
|
assert bytes_to_long(key.cipher.next_iv(), 8) == 0
|
|
assert bytes_to_long(key.cipher.next_iv(), 8) == 0
|
|
manifest = key.encrypt(b'ABC')
|
|
manifest = key.encrypt(b'ABC')
|
|
- assert key.extract_nonce(manifest) == 0
|
|
|
|
|
|
+ assert key.cipher.extract_iv(manifest) == 0
|
|
manifest2 = key.encrypt(b'ABC')
|
|
manifest2 = key.encrypt(b'ABC')
|
|
assert manifest != manifest2
|
|
assert manifest != manifest2
|
|
assert key.decrypt(None, manifest) == key.decrypt(None, manifest2)
|
|
assert key.decrypt(None, manifest) == key.decrypt(None, manifest2)
|
|
- assert key.extract_nonce(manifest2) == 1
|
|
|
|
- iv = key.extract_nonce(manifest)
|
|
|
|
|
|
+ assert key.cipher.extract_iv(manifest2) == 1
|
|
|
|
+ iv = key.cipher.extract_iv(manifest)
|
|
key2 = KeyfileKey.detect(self.MockRepository(), manifest)
|
|
key2 = KeyfileKey.detect(self.MockRepository(), manifest)
|
|
assert bytes_to_long(key2.cipher.next_iv(), 8) >= iv + key2.cipher.block_count(len(manifest) - KeyfileKey.PAYLOAD_OVERHEAD)
|
|
assert bytes_to_long(key2.cipher.next_iv(), 8) >= iv + key2.cipher.block_count(len(manifest) - KeyfileKey.PAYLOAD_OVERHEAD)
|
|
# Key data sanity check
|
|
# Key data sanity check
|
|
@@ -140,7 +140,7 @@ class TestKey:
|
|
fd.write("0000000000002000")
|
|
fd.write("0000000000002000")
|
|
key = KeyfileKey.create(repository, self.MockArgs())
|
|
key = KeyfileKey.create(repository, self.MockArgs())
|
|
data = key.encrypt(b'ABC')
|
|
data = key.encrypt(b'ABC')
|
|
- assert key.extract_nonce(data) == 0x2000
|
|
|
|
|
|
+ assert key.cipher.extract_iv(data) == 0x2000
|
|
assert key.decrypt(None, data) == b'ABC'
|
|
assert key.decrypt(None, data) == b'ABC'
|
|
|
|
|
|
def test_keyfile_kfenv(self, tmpdir, monkeypatch):
|
|
def test_keyfile_kfenv(self, tmpdir, monkeypatch):
|
|
@@ -192,14 +192,14 @@ class TestKey:
|
|
assert hexlify(key.enc_key) == b'2ff3654c6daf7381dbbe718d2b20b4f1ea1e34caa6cc65f6bb3ac376b93fed2a'
|
|
assert hexlify(key.enc_key) == b'2ff3654c6daf7381dbbe718d2b20b4f1ea1e34caa6cc65f6bb3ac376b93fed2a'
|
|
assert key.chunk_seed == -775740477
|
|
assert key.chunk_seed == -775740477
|
|
manifest = key.encrypt(b'ABC')
|
|
manifest = key.encrypt(b'ABC')
|
|
- assert key.extract_nonce(manifest) == 0
|
|
|
|
|
|
+ assert key.cipher.extract_iv(manifest) == 0
|
|
manifest2 = key.encrypt(b'ABC')
|
|
manifest2 = key.encrypt(b'ABC')
|
|
assert manifest != manifest2
|
|
assert manifest != manifest2
|
|
assert key.decrypt(None, manifest) == key.decrypt(None, manifest2)
|
|
assert key.decrypt(None, manifest) == key.decrypt(None, manifest2)
|
|
- assert key.extract_nonce(manifest2) == 1
|
|
|
|
- iv = key.extract_nonce(manifest)
|
|
|
|
|
|
+ assert key.cipher.extract_iv(manifest2) == 1
|
|
|
|
+ iv = key.cipher.extract_iv(manifest)
|
|
key2 = PassphraseKey.detect(self.MockRepository(), manifest)
|
|
key2 = PassphraseKey.detect(self.MockRepository(), manifest)
|
|
- assert bytes_to_long(key2.cipher.next_iv(), 8) == iv + key2.cipher.block_count(len(manifest) - PassphraseKey.PAYLOAD_OVERHEAD)
|
|
|
|
|
|
+ assert bytes_to_long(key2.cipher.next_iv(), 8) == iv + key2.cipher.block_count(len(manifest))
|
|
assert key.id_key == key2.id_key
|
|
assert key.id_key == key2.id_key
|
|
assert key.enc_hmac_key == key2.enc_hmac_key
|
|
assert key.enc_hmac_key == key2.enc_hmac_key
|
|
assert key.enc_key == key2.enc_key
|
|
assert key.enc_key == key2.enc_key
|