Posted 22 September 2025, 10:26 am EST
We are running the GrapeCity PDF viewer with the ASP.NET GcPdfViewerController. Our workflow is as follows:
- Present the PDF in the front end to user 1. Create a stamp annotation containing the user’s signature on the front end.
- On our back end (not using the GcPdfViewerController), find that annotation and convert it to a signature field and sign it with our certificate, taking the appearance of the stamp and applying it to the signature field)
- Present it to user 2, and apply a second stamp annotation containing the user’s signature.
- Convert the second stamp annotation to a signature field again and sign it.
Note that the permissions on the first signature are FormFillingAndAnnotations, so the stamp annotation in step 3 should be an allowed operation.
However, we found what we believe to be a bug in the GcPdfViewerController: when the signed signature passes through the Modify() endpoint anywhere in step 3, it breaks the encryption for the existing signed signature. When comparing the contents of the PDF before and after it hits the Modify() endpoint, the order of the fields gets arbitrarily reordered, which is a change NOT covered by FormFillingAndAnnotations, and our attempts to undo that change in a reliable way have been very troublesome. This is proving to be a major issue for our product.
Is there anything we can do? This really seems like a bug that needs to be addressed in the GcPdfViewerController.
