[ https://issues.apache.org/jira/browse/PDFBOX-3971?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16213871#comment-16213871 ]
Tilman Hausherr commented on PDFBOX-3971: ----------------------------------------- This looks useful, that part is indeed missing in our current code. Could you please reformat / reformat according to this: https://pdfbox.apache.org/codingconventions.html And also change code like this {code} COSArray array = (COSArray) this.dictionary.getItem(COSName.getPDFName("KeyUsage")); if(array == null){ return false; } {code} to something like this (check the type): {code} COSBase base = this.dictionary.getItem(COSName.KEY_USAGE); if (base instanceof COSArray) { COSArray array = (COSArray) base: // do stuff } {code} I know we still have some of these in existing code but I try at least to avoid it for new code. Also change code like this {code} + public void setCertificate(PDSeedValueCertificate certificate) + { + if (certificate != null) + { + dictionary.setItem(COSName.CERT, certificate.getCOSObject()); + } + } {code} to this: {code} + public void setCertificate(PDSeedValueCertificate certificate) + { + dictionary.setItem(COSName.CERT, certificate); + } {code} because setItem can handle null values. > Add Certificate Dictionary to seed value in signature field > ----------------------------------------------------------- > > Key: PDFBOX-3971 > URL: https://issues.apache.org/jira/browse/PDFBOX-3971 > Project: PDFBox > Issue Type: Improvement > Components: Signing > Reporter: Hossam Hazem > Labels: documentation, features, newbie, patch, test > Attachments: COSName.patch, PDSeedValue.patch, > PDSeedValueCertificate.java > > > This dictionary is important as it gives the ability to put certificate > constraints on a signature field, like if you want signatures that are signed > by a specific issuer or authority to only be used in a field. > currently tested Issuer constraint and it worked, acrobat reader ignores > other certificates and only allow the issuer given to sign the field. > documentation is not complete waiting for the initial acceptance to complete. > new class PDSeedValueCertificate is added which refers to this certificate. > PDSeedValue is modified to add the new dictionary. > COSName is modified to add the new pdf names that are included in the > dictionary. > reference for this dictionary can be found in PDF reference 1.7 section > 12.7.4.5 table 235 page 457 in here > http://www.adobe.com/content/dam/acom/en/devnet/pdf/PDF32000_2008.pdf > or chapter 8 table 8.84 page 700 in here > http://archimedespalimpsest.net/Documents/External/pdf_reference_1-7.pdf > and in here > https://www.adobe.com/devnet-docs/acrobatetk/tools/DigSig/Acrobat_DigitalSignatures_in_PDF.pdf > this is my first contribution, hope everything goes well. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@pdfbox.apache.org For additional commands, e-mail: dev-h...@pdfbox.apache.org