One last question, have you got the "blue ribbon" on the top the pdf when
you open it with Acrobat? In my case not, although it is well certified as
shown in the Acrobat Signature Panel.



2016-10-18 15:58 GMT+02:00 Damien Butaye <damien.but...@gmail.com>:

> Nice! Thank you very much!
>
> (Btw, it could be nice to integrate  in a future release a method
> certify() in the PDSignature object).
>
> obrigado!
>
> 2016-10-18 15:42 GMT+02:00 Diego Azevedo <dazev...@esec.com.br>:
>
>> Hello Damien,
>>
>> I made a typo:
>>
>> dictionary.setItem("Reference", reference*s*); // Add Array to Signature
>> dictionary
>>
>> There is no point in creating the array, add the "SigRef" dictionary to
>> it... and not use the array on the "Sig" dictionary.  So... just add the
>> 'S' to the variable and re-run it. Just tested here, and it worked fine =)
>>
>> []'s
>>
>> --
>>
>>
>>
>>
>>
>>
>> *_______________________________________________ Diego Azevedo Developer
>> E-SEC Seguran├ža Digital www.esec.com.br <http://www.esec.com.br> +55 61
>> 3323-4410 <%2B55%2061%203323-4410>*
>>
>>
>> On 18/10/2016 10:21, Damien Butaye wrote:
>>
>> Hello Diego,
>>
>>  Thank you for your help. I just tried your code but it seems that it
>> doesn't work. The result has nor signature nor certify element. I'll try
>> again.
>> If you have any idea, don't hesitate ;)
>>
>> Damien.
>>
>> 2016-10-18 13:04 GMT+02:00 Diego Azevedo <dazev...@esec.com.br>:
>>
>>> From what I'm reading on ISO 32000, the certification Signature is a
>>> normal signature, but with a DocMDP transform method. So the ou should do
>>> something like this:
>>>
>>> PDSignature signature = new PDSignature;
>>> [..] //do your thing
>>> COSDictinary dictionary = signature.getCOSObject();
>>>
>>> //Create a reference dictionary
>>> COSDictionary reference = new COSDictionary();
>>> reference.setItem("Type", COSName.getPDFName("SigRef"));
>>> reference.setItem("TransformMethod", COSName.getPDFName("DocMDP"));
>>> reference.setItem("DigestMethod", COSName.getPDFName("SHA1")); //Only
>>> MD5 or SHA1... Go with the least worse
>>>
>>> //Now we add DocMDP specific stuff
>>> COSDictionary transformParameters = new COSDictionary();
>>> transformParameters.setItem("Type", COSName.getPDFName("TransformP
>>> arams"));
>>> transformParameters.setInteger("P", <1, 2 or 3>); // 1- no changes
>>> permited; 2- fill forms and signing; 3- Same as 2 plus annotation creation,
>>> deletion an modification.
>>> transformParameters.setItem("V", COSName.getPDFName("1.2")); // This is
>>> right, it's a name, not a number.
>>>
>>> // Add everything in order
>>> reference.setItem("TransformParams", transformParameters ); // Add
>>> DocMDP stuff to the SigRef Dictionary;
>>> COSArray references = new COSArray();
>>> references.add(reference); // Add SigRef Dictionary to a Array
>>> dictionary.setItem("Reference", reference); // Add Array to Signature
>>> dictionary
>>>
>>> I didn't try it myself, just wrote based on PdfBox API and ISO
>>> specification. May have errors.
>>> On 18/10/2016 06:12, Damien Butaye wrote:
>>>
>>> Hello Tilman,
>>>
>>>  Here follows two links explaining the difference :
>>>
>>>
>>>    1. http://www.investintech.com/resources/articles/certifyingsigningpdf/
>>>    2.
>>>    
>>> http://stackoverflow.com/questions/16710439/how-to-add-blank-page-in-digitally-signed-pdf-using-java/16711745#16711745
>>>
>>> Damien.
>>>
>>> 2016-10-18 8:49 GMT+02:00 Tilman Hausherr <thaush...@t-online.de> 
>>> <thaush...@t-online.de>:
>>>
>>>
>>> Dear all,
>>>
>>>    I'm looking for a solution to certify a PDF. Currently I'm able to
>>> sign a
>>> PDF using PDFBox but I can't certify it. Is-it possible to do it with
>>> PDFBox?
>>>
>>>
>>> Thank you for your help!
>>>
>>>
>>> What's the difference? (See my other answer from today)
>>>
>>> Tilman
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
>>> For additional commands, e-mail: users-h...@pdfbox.apache.org
>>>
>>>
>

Reply via email to