def test_new_key_data(self): key_template = self.new_hmac_key_template(common_pb2.SHA256, 24, 16) key_data = self.key_manager.new_key_data(key_template) self.assertEqual(key_data.type_url, self.key_manager.key_type()) key = hmac_pb2.HmacKey() key.ParseFromString(key_data.value) self.assertEqual(key.version, 0) self.assertEqual(key.params.hash, common_pb2.SHA256) self.assertEqual(key.params.tag_size, 24) self.assertLen(key.key_value, 16)
def test_new_key_data(self): key_template = self.new_hmac_prf_key_template( hash_type=common_pb2.SHA256, key_size=16) key_data = tink_pb2.KeyData() key_data.ParseFromString(self.key_manager.new_key_data(key_template)) self.assertEqual(key_data.type_url, self.key_manager.key_type()) key = hmac_pb2.HmacKey() key.ParseFromString(key_data.value) self.assertEqual(key.version, 0) self.assertEqual(key.params.hash, common_pb2.SHA256) self.assertLen(key.key_value, 16)
def test_new_key_data_hmac(self): key_template = mac.mac_key_templates.create_hmac_key_template( key_size=16, tag_size=24, hash_type=common_pb2.SHA256) 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_manager.key_type()) key = hmac_pb2.HmacKey() key.ParseFromString(key_data.value) self.assertEqual(key.version, 0) self.assertEqual(key.params.hash, common_pb2.SHA256) self.assertEqual(key.params.tag_size, 24) self.assertLen(key.key_value, 16)
def _mac() -> mac.Mac: hmac_key = hmac_pb2.HmacKey( version=0, key_value=base64.urlsafe_b64decode(KEY_VALUE)) hmac_key.params.hash = common_pb2.SHA256 hmac_key.params.tag_size = 32 keyset = tink_pb2.Keyset() key = keyset.key.add() key.key_data.type_url = ('type.googleapis.com/google.crypto.tink.HmacKey') key.key_data.value = hmac_key.SerializeToString() key.key_data.key_material_type = tink_pb2.KeyData.SYMMETRIC key.status = tink_pb2.ENABLED key.key_id = 123 key.output_prefix_type = tink_pb2.RAW keyset.primary_key_id = 123 keyset_handle = cleartext_keyset_handle.from_keyset(keyset) return keyset_handle.primitive(mac.Mac)