[
https://issues.apache.org/jira/browse/PDFBOX-912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13020544#comment-13020544
]
Adam Nichols commented on PDFBOX-912:
-------------------------------------
...and the files I forgot to commit in the first batch were committed by
revision 1092858. I'm pretty sure I got all the changes for this task, and
none of the changes I made for the conforming parser that I'm working on. I
even checked out the head tag and made sure it compiled, all of the test cases
passed, and used the jar file in the SignExample program to make sure
everything works. I really don't want to be "the guy who broke the build"! If
someone could just verify that I did everything properly, we can go ahead and
mark this as closed. :-)
> PDF signing interface and improvments
> -------------------------------------
>
> Key: PDFBOX-912
> URL: https://issues.apache.org/jira/browse/PDFBOX-912
> Project: PDFBox
> Issue Type: Improvement
> Components: PDFReader, PDModel, PDModel.AcroForm, Writing
> Affects Versions: 1.4.0
> Reporter: Thomas Chojecki
> Assignee: Adam Nichols
> Priority: Minor
> Attachments: cos_object_improvement_patch.txt,
> fields_annotations_patch.txt, interface_options_patch.txt, io_patch.txt,
> main_documents_patch.txt, parser_patch.txt, signature_exception_patch.txt,
> test.pdf, test_signed.pdf, writer_patch.txt
>
>
> 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.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira