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()]))
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')
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)
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())
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())
def test_register_same_primitive_wrapper_twice(self): self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper()) self.reg.register_primitive_wrapper(_mac_wrapper.MacWrapper())
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)
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())