Details
Description
This is a first version of a signing interface for pdfbox. There are some design issues i could not handle without rewriting too much of the code.
Here we go:
- incremental update support (tested for signatures with pdf/a compatibility), not compatible with encrypted documents nor with xref-streams
- cos object improvment
- COSString with ability to force writing hexbin for given string
- COSBase with ability to write direct into a dictionary (that means if this is set, no indirect object will be wrote) (sry hard to explain what i mean, actualy needed for incremental update to lower the rate of indirect objects)
- COSBase with ability to force writing object (this hook help the COSWriter write needed objects for inkremental update)
- COSName added new names
- COSDocument some getter and setter for handling new signature and incremental features
- SignatureException with some exceptions for handling the bunch of new possible errors
-Parser improvments
– PDFParser saves now the position of the last startxref
– VisualSignatureParser (hook for parsing visual signature templates) (it's only for prepared visualisation that should be merged with the document)
-IO improvments
– COSFilterInput helps to find the proper content that should be hashed / signed
– COSStandardOutputStream is tricky, it helps the writer to jump to the right place in the document
– COSWriter got some improvments for incremental update
– COSWriterXRefEntry needed for incremental updates and writing the new Xref table
- PDDocument
- got a new method addSignature with the needed implementation (do the whole signature stuff)
- cleanup
- Fields and Annotations
- PDSignature represent the signature dictionary
- PDSignatureFild / Annotation are the visible & unvisible signature representations
- Signature Interface and options
- SignatureInterface the interface that shall be implemented for proper signing
- SignatureOptions, some additional options for signing
Patch splited into pieces
sry for spelling, didn't include a spellchecker for english.
Attachments
Attachments
Issue Links
- relates to
-
PDFBOX-911 Method PDDocument.getNumberOfPages() returns wrong number of pages
- Closed
-
PDFBOX-13 Add ability to digitally sign a PDF
- Closed
-
PDFBOX-275 add digital signature support
- Closed