You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pdfbox.apache.org by "Rubén Lagar (JIRA)" <ji...@apache.org> on 2014/03/28 17:54:15 UTC

[jira] [Commented] (PDFBOX-1614) Digitally sign PDFs without file system access

    [ https://issues.apache.org/jira/browse/PDFBOX-1614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13951019#comment-13951019 ] 

Rubén Lagar commented on PDFBOX-1614:
-------------------------------------

Are you planning fixing this soon? I am really interested in it, I am willing to help coding.

> Digitally sign PDFs without file system access
> ----------------------------------------------
>
>                 Key: PDFBOX-1614
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-1614
>             Project: PDFBox
>          Issue Type: Improvement
>          Components: Signing
>    Affects Versions: 1.8.1
>            Reporter: Thierry Boschat
>            Assignee: Thomas Chojecki
>
> 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 was sent by Atlassian JIRA
(v6.2#6252)