• Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 2.0.0, 3.0.0 PDFBox
    • Fix Version/s: 3.0.0 PDFBox
    • Component/s: AcroForm, Signing
    • Labels:


      Improve signing code:

      • incremental save only works for signatures and doesn't respect certificates such as Adobe Extended Usage Rights
      • prepareNonVisualSignature clears the AcroForm DR acroForm.setDefaultResources(null) which is not good if there are other form fields
      • visual/nonVisualSignature should move into the interactive.forms package and be handled within the signature field
      • verify signature (to have tests that go full circle) done June 2016
      • document or refactor / rewrite visible labyrinthine signature code
      • why is it not possible to pass only the signatureField to addSignature, instead having to create a COSDocument with a page and annotations that has the signature field, and that must be searched for in prepareVisibleSignature()?
      • support rotated pages (see ) done in PDFBOX-3671
      • make sure that signed PDF/A files are still PDF/A (see ); /ID possibly not OK; /Annots is possibly required (Tilman Hausherr removed this for invisible signatures); test signed files with PDF-Tools and with preflight tested, they are OK with PDF-Tools and preflight
      • test whether "bad" signatures are detected by preflight (search in old issues)
      • PDFBOX-3363 - why is the stream cached in a file? Should it be done in memory? done on July 15, 2016
      • remove setVisualSignature(PDVisibleSigProperties visSignatureProperties) from, all it does is to call visSignatureProperties.getVisibleSignature() which returns an InputStream, and this is already available
      • checkSignatureField violates the "do one thing" rule
      • decide whether the whole certificate chain should be passed in the sample code, instead of only the first one yes the whole chain is stored
      • check certificate chain, revocation lists, etc, only if needed by users, code here
      • deprecate / remove all PDVisibleSignDesigner constructors except those with a PDDocument object, to avoid a file being opened twice
      • ... your ideas...


        1. pdfa_signed_insivible.pdf
          35 kB
          Tilman Hausherr
        2. PDFBOX-3017_certificate_chain.diff
          2 kB
          Aleksei Balan
        3. PDFBOX-3017_certificate_chain_Screenshot.png
          104 kB
          Aleksei Balan
        4. QV_RCA1_RCA3_CPCPS_V4_11.pdf
          994 kB
          Tilman Hausherr
        5. SO52757037-Signed3-OCSP-with-KeyHash.pdf
          33 kB
          Tilman Hausherr



            • Assignee:
              tilman Tilman Hausherr
            • Votes:
              3 Vote for this issue
              10 Start watching this issue


              • Created: