Thierry Boschat created PDFBOX-1614:
---------------------------------------
Summary: Digitally sign PDFs without file system access
Key: PDFBOX-1614
URL: https://issues.apache.org/jira/browse/PDFBOX-1614
Project: PDFBox
Issue Type: Improvement
Reporter: Thierry Boschat
Hi I'm using pdfbox-1.8.1 to digitally sign PDFs.
I find the sample below to handle it.
But in this example I have to use a FileInputStream however I want to do it
only through streams (without any file system access). I tried to extends
FileInputStream to deal with it but I failed. Any tips for me about that
problem ?
Thanks.
File outputDocument = new File("resources/signed" + document.getName());
FileInputStream fis = new FileInputStream(document);
FileOutputStream fos = new FileOutputStream(outputDocument);
int c;
while ((c = fis.read(buffer)) != -1)
{
fos.write(buffer, 0, c);
}
fis.close();
fis = new FileInputStream(outputDocument);
// load document
PDDocument doc = PDDocument.load(document);
// create signature dictionary
PDSignature signature = new PDSignature();
signature.setFilter(PDSignature.FILTER_ADOBE_PPKLITE); // default filter
// subfilter for basic and PAdES Part 2 signatures
signature.setSubFilter(PDSignature.SUBFILTER_ADBE_PKCS7_DETACHED);
signature.setName("signer name");
signature.setLocation("signer location");
signature.setReason("reason for signature");
// the signing date, needed for valid signature
signature.setSignDate(Calendar.getInstance());
// register signature dictionary and sign interface
doc.addSignature(signature, this);
// write incremental (only for signing purpose)
doc.saveIncremental(fis, fos);
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira