Zitat von István Viczián <[email protected]>:

Hello,
Hi,


I'm trying to sign and timestamp my PDF document.
pdfbox 1.8.3
bcmail-jdk15on 1.50
The signing works fine, the Adobe Acrobat Reader shows the certificate
correctly.

pdfbox 1.8.3 normally require bc in the version 1.44. I think newer will also work if you do not work with encrypted documents. You can also try to work with the pdfbox 2.0.0 snapshot if you need to use bc in version 1.46 or newer. The signing code is identical, so you will have the same results with 1.8.3 and 2.0.0.

https://repository.apache.org/content/groups/snapshots/org/apache/pdfbox/pdfbox/2.0.0-SNAPSHOT/

Based on the the sample app:
http://media-nation.de/~rayman2200/PDFBox-SignExample.zip
This example was updated and ported a while ago into the pdfbox-examples.
You can find it in the svn. Just checkout the src from:

svn checkout http://svn.apache.org/repos/asf/pdfbox/trunk/

But I haven't add any timestamp examples yet.

(But the Foxit Reader not! Signing with other PDF library - you know
which - the Foxit Reader shows the certificate right.)

But the timestamping does not work. Calling
.setSignedAttributeGenerator I don't see any timestamp, the size of
the pdf doesn't change.

How did you created the timestamp? which format you are using (RFC3161 works for me)? You can also try to do a signature timestamp instead of a content timestamp. Maybe the foxit reader does not support content timestamps.

With gen.generate(msg, true); the exception is:

java.io.IOException: Can't write signature, not enough space

How can I add space for signature?

This exception is a good point. So your timestamp was added to the cms structure but it was too large to fit into the predefined gap.

You can increase the size with setPreferedSignatureSize(...) inside the SignatureOptions. For the right size of the signature you need to experiment. A good start is to take the size of the certificates / certificate chain you are adding into the signature and all additional attributes like the timestamp.


I don't find any example for timestamping pdf. Could you send me one?

I don't have any example right now, but you can search the net for creating cms signatures with timestamp. I found one for itext

https://www.mail-archive.com/[email protected]/msg40287.html

or this one

http://bouncy-castle.1462172.n4.nabble.com/Insert-Time-stamp-into-CMS-Signed-Data-td1464065.html

So try to use unsigned attribute for a signature timestamp or signed attribute for a content timestamp.

(I can post my source code, if it is necessary.)

Same with BouncyCastle 1.49 with deprecated addSigner method.

--
Viczián István

I hope this will help you a bit. If you have questions, just ask.

Best regards
Thomas

Reply via email to