Esempio n. 1
0
 def test_keyfile2(self):
     with open(os.path.join(os.environ['ATTIC_KEYS_DIR'], 'keyfile'),
               'w') as fd:
         fd.write(self.keyfile2_key_file)
     os.environ['ATTIC_PASSPHRASE'] = 'passphrase'
     key = KeyfileKey.detect(self.MockRepository(), self.keyfile2_cdata)
     self.assert_equal(key.decrypt(self.keyfile2_id, self.keyfile2_cdata),
                       b'payload')
Esempio n. 2
0
 def test_keyfile(self):
     os.environ['ATTIC_PASSPHRASE'] = 'test'
     key = KeyfileKey.create(self.MockRepository(), self.MockArgs())
     self.assert_equal(bytes_to_long(key.enc_cipher.iv, 8), 0)
     manifest = key.encrypt(b'XXX')
     self.assert_equal(key.extract_nonce(manifest), 0)
     manifest2 = key.encrypt(b'XXX')
     self.assert_not_equal(manifest, manifest2)
     self.assert_equal(key.decrypt(None, manifest), key.decrypt(None, manifest2))
     self.assert_equal(key.extract_nonce(manifest2), 1)
     iv = key.extract_nonce(manifest)
     key2 = KeyfileKey.detect(self.MockRepository(), manifest)
     self.assert_equal(bytes_to_long(key2.enc_cipher.iv, 8), iv + num_aes_blocks(len(manifest) - KeyfileKey.PAYLOAD_OVERHEAD))
     # Key data sanity check
     self.assert_equal(len(set([key2.id_key, key2.enc_key, key2.enc_hmac_key])), 3)
     self.assert_equal(key2.chunk_seed == 0, False)
     data = b'foo'
     self.assert_equal(data, key2.decrypt(key.id_hash(data), key.encrypt(data)))
Esempio n. 3
0
 def test_keyfile(self):
     os.environ['ATTIC_PASSPHRASE'] = 'test'
     key = KeyfileKey.create(self.MockRepository(), self.MockArgs())
     self.assert_equal(bytes_to_long(key.enc_cipher.iv, 8), 0)
     manifest = key.encrypt(b'XXX')
     self.assert_equal(key.extract_nonce(manifest), 0)
     manifest2 = key.encrypt(b'XXX')
     self.assert_not_equal(manifest, manifest2)
     self.assert_equal(key.decrypt(None, manifest),
                       key.decrypt(None, manifest2))
     self.assert_equal(key.extract_nonce(manifest2), 1)
     iv = key.extract_nonce(manifest)
     key2 = KeyfileKey.detect(self.MockRepository(), manifest)
     self.assert_equal(
         bytes_to_long(key2.enc_cipher.iv, 8),
         iv + num_aes_blocks(len(manifest) - KeyfileKey.PAYLOAD_OVERHEAD))
     # Key data sanity check
     self.assert_equal(
         len(set([key2.id_key, key2.enc_key, key2.enc_hmac_key])), 3)
     self.assert_equal(key2.chunk_seed == 0, False)
     data = b'foo'
     self.assert_equal(data,
                       key2.decrypt(key.id_hash(data), key.encrypt(data)))
Esempio n. 4
0
 def test_keyfile2(self):
     with open(os.path.join(os.environ['ATTIC_KEYS_DIR'], 'keyfile'), 'w') as fd:
         fd.write(self.keyfile2_key_file)
     os.environ['ATTIC_PASSPHRASE'] = 'passphrase'
     key = KeyfileKey.detect(self.MockRepository(), self.keyfile2_cdata)
     self.assert_equal(key.decrypt(self.keyfile2_id, self.keyfile2_cdata), b'payload')