[ 
https://issues.apache.org/jira/browse/PDFBOX-4364?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tilman Hausherr updated PDFBOX-4364:
------------------------------------
    Fix Version/s: 2.0.13

> example AddValidationInformation fails with scratchfile error
> -------------------------------------------------------------
>
>                 Key: PDFBOX-4364
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-4364
>             Project: PDFBox
>          Issue Type: Bug
>          Components: Signing
>    Affects Versions: 2.0.11, 2.0.12
>            Reporter: rasmus
>            Priority: Major
>             Fix For: 2.0.13
>
>         Attachments: ebox_certified_eutl.pdf
>
>
> The example 
> [signature.validation.AddValidationInformation|https://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/signature/validation/]
>  fails with exception "Scratch file already closed" when we try to add the 
> info to our certified file (enclosed).
> The error occurs in AddValidationInformation.writeDataToStream(), line 421:
>     OutputStream os = stream.createOutputStream(filters);
> Reading discussion in PDFBOX-3984, we tried to use a new COSStream() instead 
> of scratch file, ie changed line 417 to
>      COSStream stream = new COSStream(); 
> //document.getDocument().createCOSStream();
> Then the example gets much further, but fails with same error in the final 
> document.saveIncremental() call in AddValidationInformation.doValidation  
> (line 141).
>  
> The same error occurs if we try the file multiSignatureBase.pdf from the 
> PDFBOX-3984 issue ([^multi-Signature_Base.pdf)] 
> so it doesn't seem to be a problem with our specific file.
> Our calling code:
> String rootFolder = "/home/papasmurf/Documents/pdf-examples/";
>  File inFile = new File(rootFolder + "ebox_certified_eutl.pdf");
>  File outFile = new File(rootFolder + "ebox_validationinfo_test.pdf");
> AddValidationInformation validator = new AddValidationInformation();
>  validator.validateSignature(inFile, outFile);
>  
> Eclipse output running the example:
> {quote}Get Certificate from: http://q.ica.cz/2qca16_rsa.cer
> Get Certificate from: http://r.ica.cz/rca15_rsa.cer
> Get Certificate from: http://r.ica.cz/rca15_rsa.cer
> Nonce: 04120410DD140ECDE05357A0A2F6E5001EDD9A7D
> Exception in thread "main" java.io.IOException: java.io.IOException: Scratch 
> file already closed
>  at 
> org.apache.pdfbox.examples.signature.validation.AddValidationInformation.fetchCrlData(AddValidationInformation.java:330)
>  at 
> org.apache.pdfbox.examples.signature.validation.AddValidationInformation.addRevocationDataRecursive(AddValidationInformation.java:248)
>  at 
> org.apache.pdfbox.examples.signature.validation.AddValidationInformation.addRevocationData(AddValidationInformation.java:205)
>  at 
> org.apache.pdfbox.examples.signature.validation.AddValidationInformation.doValidation(AddValidationInformation.java:136)
>  at 
> org.apache.pdfbox.examples.signature.validation.AddValidationInformation.validateSignature(AddValidationInformation.java:88)
>  at com.tellustalk.javaworker.dss.SignPDF.main(SignPDF.java:233)
> Caused by: java.io.IOException: Scratch file already closed
>  at org.apache.pdfbox.io.ScratchFile.checkClosed(ScratchFile.java:390)
>  at org.apache.pdfbox.io.ScratchFileBuffer.<init>(ScratchFileBuffer.java:78)
>  at org.apache.pdfbox.io.ScratchFile.createBuffer(ScratchFile.java:403)
>  at org.apache.pdfbox.cos.COSStream.createOutputStream(COSStream.java:221)
>  at 
> org.apache.pdfbox.examples.signature.validation.AddValidationInformation.writeDataToStream(AddValidationInformation.java:421)
>  at 
> org.apache.pdfbox.examples.signature.validation.AddValidationInformation.addCrlRevocationInfo(AddValidationInformation.java:377)
>  at 
> org.apache.pdfbox.examples.signature.validation.AddValidationInformation.fetchCrlData(AddValidationInformation.java:315)
>  ... 5 more
> {quote}
>  
> Grateful for any insights,
>     /rasmus ekman
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org
For additional commands, e-mail: dev-h...@pdfbox.apache.org

Reply via email to