def _test_case(key_size=16, iv_size=16, key_version=0): key = aes_eax_pb2.AesEaxKey() key.version = key_version key.key_value = _gen_key_value(key_size) key.params.iv_size = iv_size keyset = _gen_keyset( 'type.googleapis.com/google.crypto.tink.AesEaxKey', key.SerializeToString(), tink_pb2.KeyData.SYMMETRIC) return ('AesEaxKey(%d,%d,%d)' % (key_size, iv_size, key_version), keyset)
def test_new_key_data(self): key_template = self.new_aes_eax_key_template(12, 16) key_data = self.key_manager.new_key_data(key_template) self.assertEqual(key_data.type_url, self.key_manager.key_type()) self.assertEqual(key_data.key_material_type, tink_pb2.KeyData.SYMMETRIC) key = aes_eax_pb2.AesEaxKey() key.ParseFromString(key_data.value) self.assertEqual(key.version, 0) self.assertEqual(key.params.iv_size, 12) self.assertLen(key.key_value, 16)
def test_new_key_data_aes_eax(self): key_template = aead.aead_key_templates.create_aes_eax_key_template( key_size=16, iv_size=12) key_manager = core.Registry.key_manager(key_template.type_url) key_data = key_manager.new_key_data(key_template) self.assertEqual(key_data.type_url, key_template.type_url) self.assertEqual(key_data.key_material_type, tink_pb2.KeyData.SYMMETRIC) key = aes_eax_pb2.AesEaxKey() key.ParseFromString(key_data.value) self.assertEqual(key.version, 0) self.assertEqual(key.params.iv_size, 12) self.assertLen(key.key_value, 16)