def verify_mac(self, mac_value: bytes, data: bytes) -> None: request = testing_api_pb2.VerifyMacRequest(keyset=self._keyset, mac_value=mac_value, data=data) response = self._stub.VerifyMac(request) if response.err: raise tink.TinkError(response.err)
def verify_mac(self, mac_value: bytes, data: bytes) -> None: logging.info('verify_mac in lang %s.', self.lang) request = testing_api_pb2.VerifyMacRequest(keyset=self._keyset, mac_value=mac_value, data=data) response = self._stub.VerifyMac(request) if response.err: logging.info('error verify_mac in %s: %s', self.lang, response.err) raise tink.TinkError(response.err)
def test_generate_compute_verify_mac_fail(self): keyset_servicer = services.KeysetServicer() mac_servicer = services.MacServicer() template = mac.mac_key_templates.HMAC_SHA256_128BITTAG.SerializeToString( ) gen_request = testing_api_pb2.KeysetGenerateRequest(template=template) gen_response = keyset_servicer.Generate(gen_request, self._ctx) self.assertEqual(gen_response.WhichOneof('result'), 'keyset') keyset = gen_response.keyset verify_request = testing_api_pb2.VerifyMacRequest( keyset=keyset, mac_value=b'invalid mac_value', data=b'data') verify_response = mac_servicer.VerifyMac(verify_request, self._ctx) self.assertNotEmpty(verify_response.err)
def test_generate_compute_verify_mac(self): keyset_servicer = services.KeysetServicer() mac_servicer = services.MacServicer() template = mac.mac_key_templates.HMAC_SHA256_128BITTAG.SerializeToString() gen_request = testing_api_pb2.KeysetGenerateRequest(template=template) gen_response = keyset_servicer.Generate(gen_request, self._ctx) self.assertEqual(gen_response.WhichOneof('result'), 'keyset') keyset = gen_response.keyset data = b'The quick brown fox jumps over the lazy dog' comp_request = testing_api_pb2.ComputeMacRequest(keyset=keyset, data=data) comp_response = mac_servicer.ComputeMac(comp_request, self._ctx) self.assertEqual(comp_response.WhichOneof('result'), 'mac_value') mac_value = comp_response.mac_value verify_request = testing_api_pb2.VerifyMacRequest( keyset=keyset, mac_value=mac_value, data=data) verify_response = mac_servicer.VerifyMac(verify_request, self._ctx) self.assertEmpty(verify_response.err)