def test_decrypt_only_legacy(self): enc = service.encrypt_attr_value(self.data, self.key, True) del enc['header'] del enc['ciphertext'] del enc['tag'] decrypted = utils.to_string(service.decrypt_attr_value(enc, self.key)) self.assertEqual(decrypted, self.data)
def test_encrypt_without_legacy(self): enc = service.encrypt_attr_value(self.data, self.key, False) self.assertNotIn("cipher", enc) self.assertNotIn("mode", enc) self.assertNotIn("ts", enc) self.assertIn("header", enc) self.assertIn("ciphertext", enc) self.assertIn("tag", enc)
def test_encrypt(self): enc = service.encrypt_attr_value(self.data, self.key) self.assertIn("cipher", enc) self.assertIn("mode", enc) self.assertIn("ts", enc) self.assertEqual(enc.get("cipher"), "aes") self.assertEqual(enc.get("mode"), "gcm") self.assertEqual(enc.get("ts"), 128)
def test_string_encryption(self): key = service.create_aes_key() data = 'Hello, Im Data' edata = service.encrypt_attr_value(data, key) self.assertEqual( utils.to_string(service.decrypt_attr_value(edata, key)), data )
def test_encrypt_with_legacy(self): enc = service.encrypt_attr_value(self.data, self.key, True) self.assertIn("cipher", enc) self.assertIn("mode", enc) self.assertIn("ts", enc) self.assertIn("header", enc) self.assertIn("ciphertext", enc) self.assertIn("tag", enc) self.assertEqual(enc.get("cipher"), "aes") self.assertEqual(enc.get("mode"), "gcm") self.assertEqual(enc.get("ts"), 128)
def test_decrypt_without_legacy(self): enc = service.encrypt_attr_value(self.data, self.key, False) decrypted = utils.to_string(service.decrypt_attr_value(enc, self.key)) self.assertEqual(decrypted, self.data)
def test_bytes_encryption(self): key = service.create_aes_key() data = b'Hello, Im Data' edata = service.encrypt_attr_value(data, key) self.assertEqual(service.decrypt_attr_value(edata, key), data)
def test_string_encryption(self): key = service.create_aes_key() data = 'Hello, Im Data' edata = service.encrypt_attr_value(data, key) self.assertEqual( utils.to_string(service.decrypt_attr_value(edata, key)), data)
def test_decrypt(self): enc = service.encrypt_attr_value(self.data, self.key) utils.to_string(service.decrypt_attr_value(enc, self.key)).should.equal(self.data)
def test_decrypt_bytes(self): data = utils.to_bytes(self.data) enc = service.encrypt_attr_value(data, self.key) decrypted = service.decrypt_attr_value(enc, self.key) self.assertEqual(decrypted, data)
def test_decrypt(self): enc = service.encrypt_attr_value(self.data, self.key) decrypted = utils.to_string(service.decrypt_attr_value(enc, self.key)) self.assertEqual(decrypted, self.data)
def test_decrypt_bytes(self): data = utils.to_bytes(self.data) enc = service.encrypt_attr_value(data, self.key) service.decrypt_attr_value(enc, self.key).should.equal(data)
def test_decrypt_without_legacy_follow_standard_encoding(self): enc = service.encrypt_attr_value(self.data, self.key, False) enc['iv'] = base64.b64encode(utils.base64url_decode(enc['iv'])) decrypted = utils.to_string(service.decrypt_attr_value(enc, self.key)) self.assertEqual(decrypted, self.data)
def test_decrypt_invalid_tag_size(self): enc = service.encrypt_attr_value(self.data, self.key, False) enc['tag'] = enc['tag'][:12] with self.assertRaises(ValueError): service.decrypt_attr_value(enc, self.key)
def test_encrypt(self): enc = service.encrypt_attr_value(self.data, self.key) enc.should.have.key('cipher').with_value.equal('aes') enc.should.have.key('mode').with_value.equal('gcm') enc.should.have.key('ts').with_value.equal(128)