Can you post the public key that caused the error? Paulo
On Fri, Apr 13, 2012 at 10:56 PM, Rafael Coninck Teigão <rctei...@gmail.com> wrote: > Hello Everyone, > > I'm trying to use the code for adding LTV to a PDF, but when I try to add a > CRL, at first nothing happens. > > The code snippet goes like this: > > LtvVerification ltv = ltvStamper.getLtvVerification(); > AcroFields ltvAf = ltvStamper.getAcroFields(); > for (String ltvSigName : ltvAf.getSignatureNames()) { > Boolean bol = ltv.addVerification(ltvSigName, new > OcspClientBouncyCastle(), new CrlClientImp(), > LtvVerification.CertificateOption.WHOLE_CHAIN, > LtvVerification.Level.OCSP_OPTIONAL_CRL, > LtvVerification.CertificateInclusion.YES); > } > > Just for testing I added the "Boolean bol" variable. > > ltv.addVerification(...) was always returning false, so we debugged iText > (5.2.0) and BCPROV (1.46) code and found that at PdfPKCS7.java (line 1092): > > DERIA5String derStr = DERIA5String.getInstance(name.getDERObject()); > > the DERIA5String.getInstance(name.getDERObject()) was returning the > following exception: > > Exception occurred in target VM: illegal object in getInstance: > org.bouncycastle.asn1.DERTaggedObject > java.lang.IllegalArgumentException: illegal object in getInstance: > org.bouncycastle.asn1.DERTaggedObject > at org.bouncycastle.asn1.DERIA5String.getInstance(Unknown Source) > at com.itextpdf.text.pdf.PdfPKCS7.getCrlUrl(PdfPKCS7.java:1092) > at com.itextpdf.text.pdf.CrlClientImp.getEncoded(CrlClientImp.java:75) > at > com.itextpdf.text.pdf.LtvVerification.addVerification(LtvVerification.java:161) > at > br.jus.tjpr.assinadordesktop.AssinadorPDF.assinatura(AssinadorPDF.java:283) > at > br.jus.tjpr.assinadordesktop.AssinadorPDF.assinarPDF(AssinadorPDF.java:74) > at > br.jus.tjpr.assinadordesktop.AssinadorDesktopView.invocarAssinador(AssinadorDesktopView.java:661) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at > org.jdesktop.application.ApplicationAction.noProxyActionPerformed(ApplicationAction.java:662) > at > org.jdesktop.application.ApplicationAction.actionPerformed(ApplicationAction.java:698) > at > javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) > at > javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) > at > javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) > at > javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) > at > javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) > at > java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272) > at java.awt.Component.processMouseEvent(Component.java:6288) > at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) > at java.awt.Component.processEvent(Component.java:6053) > at java.awt.Container.processEvent(Container.java:2041) > at java.awt.Component.dispatchEventImpl(Component.java:4651) > at java.awt.Container.dispatchEventImpl(Container.java:2099) > at java.awt.Component.dispatchEvent(Component.java:4481) > at > java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577) > at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238) > at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) > at java.awt.Container.dispatchEventImpl(Container.java:2085) > at java.awt.Window.dispatchEventImpl(Window.java:2478) > at java.awt.Component.dispatchEvent(Component.java:4481) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643) > at java.awt.EventQueue.access$000(EventQueue.java:84) > at java.awt.EventQueue$1.run(EventQueue.java:602) > at java.awt.EventQueue$1.run(EventQueue.java:600) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) > at > java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) > at java.awt.EventQueue$2.run(EventQueue.java:616) > at java.awt.EventQueue$2.run(EventQueue.java:614) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) > at java.awt.EventQueue.dispatchEvent(EventQueue.java:613) > at > java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) > at > java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) > at > java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) > at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) > at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) > > However, passing a "false" argument this method: > > DERIA5String.getInstance(..., false); > > forces a DERIA5String object to be constructed and the code then seems to > work. > > I believe this is some kind of incompatibility created by the undergoing > interface changes in BC. > > What do you think? > > Cheers, > Rafael. > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > iText-questions mailing list > iText-questions@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/itext-questions > > iText(R) is a registered trademark of 1T3XT BVBA. > Many questions posted to this list can (and will) be answered with a > reference to the iText book: http://www.itextpdf.com/book/ > Please check the keywords list before you ask for examples: > http://itextpdf.com/themes/keywords.php ------------------------------------------------------------------------------ For Developers, A Lot Can Happen In A Second. Boundary is the first to Know...and Tell You. Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! http://p.sf.net/sfu/Boundary-d2dvs2 _______________________________________________ iText-questions mailing list iText-questions@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/itext-questions iText(R) is a registered trademark of 1T3XT BVBA. Many questions posted to this list can (and will) be answered with a reference to the iText book: http://www.itextpdf.com/book/ Please check the keywords list before you ask for examples: http://itextpdf.com/themes/keywords.php