def test_sign_verify_fail(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') self.assertEmpty(gen_response.err) 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 invalid_request = testing_api_pb2.SignatureVerifyRequest( public_keyset=public_keyset, signature=b'invalid signature', data=b'The quick brown fox jumps over the lazy dog') invalid_response = signature_servicer.Verify(invalid_request, self._ctx) self.assertNotEmpty(invalid_response.err)
def verify(self, signature: bytes, data: bytes) -> None: logging.info('signature verify in lang %s.', self.lang) request = testing_api_pb2.SignatureVerifyRequest( public_keyset=self._public_handle, signature=signature, data=data) response = self._stub.Verify(request) if response.err: logging.info('error signature verify in %s: %s', self.lang, response.err) raise tink.TinkError(response.err)
def verify(self, signature: bytes, data: bytes) -> None: request = testing_api_pb2.SignatureVerifyRequest( public_keyset=self._public_handle, signature=signature, data=data) response = self._stub.Verify(request) if response.err: raise tink.TinkError(response.err)