def compute_mac(self, data: bytes) -> bytes: request = testing_api_pb2.ComputeMacRequest(keyset=self._keyset, data=data) response = self._stub.ComputeMac(request) if response.err: raise tink.TinkError(response.err) return response.mac_value
def compute_mac(self, data: bytes) -> bytes: logging.info('compute_mac in lang %s.', self.lang) request = testing_api_pb2.ComputeMacRequest(keyset=self._keyset, data=data) response = self._stub.ComputeMac(request) if response.err: logging.info('error compute_mac in %s: %s', self.lang, response.err) raise tink.TinkError(response.err) return response.mac_value
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)