BTW the "default appearance" entry is described in the PDF standard at Chapter 8.6.2
Regards, Armin > Hi, > > We tried to validate our PDFs signed with itext with Cabaret Stage 3.0 > (see http://www.cabaret-solutions.com/de/products/stage/). The program > contains a "Document Report" function, which failed for our signed pdf. > So we contacted the developers from Cabaret. > This was their answer: > >> The signature was not created in conformance to the PDF >> specification and thus leads to an Exception in CABAReT Stage. The >> problem is >> the missing "Default Appearance" in the signature annotation. >> Following the PDF >> spec a signature field has to have a default appearance, even if the >> appearance >> is only 0 x 0 in dimension. >> >> CABAReT Solutions will prepare a fix for this situation, i.e. the missing >> appearance will not lead to an error anymore. >> Nevertheless, the software used by the customer for signing the PDF and >> integration the signature should obey the PDF spec. > > So could it be that the signatures generated with itext do not fully > confirm with the PDF standard? > > > I attached a pdf that generated the error in cabaret > It was created using the foloowing code, which was taken from > http://itextpdf.sourceforge.net/howtosign.html#keysself > > > KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); > ks.load(new FileInputStream("keystore.ks"), "123456".toCharArray()); > String alias = (String) ks.aliases().nextElement(); > PrivateKey key = (PrivateKey) ks.getKey(alias, "123456".toCharArray()); > Certificate[] chain = ks.getCertificateChain(alias); > PdfReader reader = new PdfReader("original.pdf"); > FileOutputStream fout = new FileOutputStream("signed.pdf"); > PdfStamper stp = PdfStamper.createSignature(reader, fout, '\0'); > PdfSignatureAppearance sap = stp.getSignatureAppearance(); > sap.setCrypto(key, chain, null, PdfSignatureAppearance.SELF_SIGNED); > sap.setReason("I'm the author"); > sap.setLocation("Lisbon"); > // comment next line to have an invisible signature > sap.setVisibleSignature(new Rectangle(100, 100, 200, 200), 1, null); > stp.close(); > > > Regrads, > > Armin > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > > > ------------------------------------------------------------------------ > > _______________________________________________ > iText-questions mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/itext-questions > Buy the iText book: http://itext.ugent.be/itext-in-action/ ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ iText-questions mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/itext-questions Buy the iText book: http://itext.ugent.be/itext-in-action/
