def test_sign_verify(self): keyset_servicer = services.KeysetServicer() signature_servicer = services.SignatureServicer() template = signature.signature_key_templates.ECDSA_P256.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') private_keyset = gen_response.keyset pub_request = testing_api_pb2.KeysetPublicRequest( private_keyset=private_keyset) pub_response = keyset_servicer.Public(pub_request, self._ctx) self.assertEqual(pub_response.WhichOneof('result'), 'public_keyset') public_keyset = pub_response.public_keyset data = b'The quick brown fox jumps over the lazy dog' sign_request = testing_api_pb2.SignatureSignRequest( private_keyset=private_keyset, data=data) sign_response = signature_servicer.Sign(sign_request, self._ctx) self.assertEqual(sign_response.WhichOneof('result'), 'signature') a_signature = sign_response.signature verify_request = testing_api_pb2.SignatureVerifyRequest( public_keyset=public_keyset, signature=a_signature, data=data) verify_response = signature_servicer.Verify(verify_request, self._ctx) self.assertEmpty(verify_response.err)
def sign(self, data: bytes) -> bytes: request = testing_api_pb2.SignatureSignRequest( private_keyset=self._private_handle, data=data) response = self._stub.Sign(request) if response.err: raise tink.TinkError(response.err) return response.signature
def sign(self, data: bytes) -> bytes: logging.info('compute_mac in lang %s.', self.lang) request = testing_api_pb2.SignatureSignRequest( private_keyset=self._private_handle, data=data) response = self._stub.Sign(request) if response.err: logging.info('error signature sign in %s: %s', self.lang, response.err) raise tink.TinkError(response.err) return response.signature