예제 #1
0
 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)
예제 #3
0
 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)
예제 #4
0
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)