Example #1
0
 def test_primitive_wrapper_reset(self):
     self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
     self.reg.reset()
     with self.assertRaisesRegex(
             core.TinkError,
             'No PrimitiveWrapper registered for primitive Mac.'):
         self.reg.wrap(_mac_set([helper.FakeMac()]))
Example #2
0
 def test_wrap_with_primitive_class_success(self):
     self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
     mac1 = helper.FakeMac('FakeMac1')
     mac2 = helper.FakeMac('FakeMac2')
     wrapped_mac = self.reg.wrap(_mac_set([mac1, mac2]), mac.Mac)
     wrapped_mac.verify_mac(mac1.compute_mac(b'data1'), b'data1')
     wrapped_mac.verify_mac(mac2.compute_mac(b'data2'), b'data2')
     wrapped_mac.verify_mac(wrapped_mac.compute_mac(b'data'), b'data')
Example #3
0
 def test_wrap_with_incompatible_primitive_class_fails(self):
     self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
     pset = core.new_primitive_set(prf.Prf)
     prf1 = helper.FakePrf('FakePrf1')
     pset.set_primary(
         pset.add_primitive(
             prf1,
             helper.fake_key(key_id=1234, output_prefix_type=tink_pb2.RAW)))
     with self.assertRaises(core.TinkError):
         _ = self.reg.wrap(pset, mac.Mac)
Example #4
0
def register():
  cc_tink_config.register()

  for key_type_identifier in ('HmacKey', 'AesCmacKey',):
    type_url = 'type.googleapis.com/google.crypto.tink.' + key_type_identifier
    key_manager = core.KeyManagerCcToPyWrapper(
        cc_key_manager.MacKeyManager.from_cc_registry(type_url), _mac.Mac,
        _MacCcToPyWrapper)
    core.Registry.register_key_manager(key_manager, new_key_allowed=True)
  core.Registry.register_primitive_wrapper(_mac_wrapper.MacWrapper())
Example #5
0
 def test_register_different_primitive_wrappers_twice_fails(self):
     self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
     with self.assertRaises(core.TinkError):
         self.reg.register_primitive_wrapper(DummyMacWrapper())
Example #6
0
 def test_register_same_primitive_wrapper_twice(self):
     self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
     self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
Example #7
0
 def test_primitive_wrapper_reset(self):
     self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
     self.reg.reset()
     with self.assertRaises(core.TinkError):
         self.reg.wrap(_mac_set([helper.FakeMac()]), mac.Mac)
Example #8
0
 def test_register_different_primitive_wrappers_twice_fails(self):
     self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
     with self.assertRaisesRegex(
             core.TinkError,
             'A wrapper for primitive Mac has already been added.'):
         self.reg.register_primitive_wrapper(DummyMacWrapper())