使用iText簽署PDf,但簽名驗證發出異常。請幫助我解決問題。 什麼版本的itext,海綿城堡庫被使用?iText在android中的pdf簽名驗證
目前我使用
1.sc-光jdk15on-1.47.0.2.jar
2.scpkix-jdk15on-1.47.0.0.jar
3.scprov,jdk15on- 1.47.0.0.jar
4.itextg-5.4.5.jar
6.itext-2.1.7.jar
的例外是:
java.lang.NoClassDefFoundError: org.bouncycastle.jce.provider.X509CertParser 01-30 13:45:36.569: E/AndroidRuntime(8059): at com.lowagie.text.pdf.PdfPKCS7.(Unknown Source) 01-30 13:45:36.569: E/AndroidRuntime(8059): at com.lowagie.text.pdf.AcroFields.verifySignature(Unknown Source) 01-30 13:45:36.569: E/AndroidRuntime(8059): at com.lowagie.text.pdf.AcroFields.verifySignature(Unknown Source) 01-30 13:45:36.569: E/AndroidRuntime(8059): at com.example.itextpdfsign.MainActivity.verifySignature(MainActivity.java:178) 01-30 13:45:36.569: E/AndroidRuntime(8059): at com.example.itextpdfsign.MainActivity.verifySignatures(MainActivity.java:165) 01-30 13:45:36.569: E/AndroidRuntime(8059): at com.example.itextpdfsign.MainActivity.onCreate(MainActivity.java:74) 01-30 13:45:36.569: E/AndroidRuntime(8059): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 01-30 13:45:36.569: E/AndroidRuntime(8059): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 01-30 13:45:36.569: E/AndroidRuntime(8059): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 01-30 13:45:36.569: E/AndroidRuntime(8059): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 01-30 13:45:36.569: E/AndroidRuntime(8059): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 01-30 13:45:36.569: E/AndroidRuntime(8059): at android.os.Handler.dispatchMessage(Handler.java:99) 01-30 13:45:36.569: E/AndroidRuntime(8059): at android.os.Looper.loop(Looper.java:123) 01-30 13:45:36.569: E/AndroidRuntime(8059): at android.app.ActivityThread.main(ActivityThread.java:3683) 01-30 13:45:36.569: E/AndroidRuntime(8059): at java.lang.reflect.Method.invokeNative(Native Method) 01-30 13:45:36.569: E/AndroidRuntime(8059): at java.lang.reflect.Method.invoke(Method.java:507) 01-30 13:45:36.569: E/AndroidRuntime(8059): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 01-30 13:45:36.569: E/AndroidRuntime(8059): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 01-30 13:45:36.569: E/AndroidRuntime(8059): at dalvik.system.NativeStart.main(Native Method)
@布魯諾......謝謝澄清我的懷疑。唯一的例外,當我即執行簽名驗證碼 – user1987823
公共靜態PdfPKCS7 verifySignature我只得到(AcroFields字段,字符串名稱) \t \t \t拋出GeneralSecurityException,IOException異常{ \t \t的System.out.println(「簽名涵蓋整個文檔:」 \t \t \t \t + fields.signatureCoversWholeDocument(name)); \t \t的System.out.println( 「文檔修訂:」 + fields.getRevision(名稱) \t \t \t \t + 「的」 + fields.getTotalRevisions()); \t \t PdfPKCS7 pkcs7 = fields.verifySignature(name); (「完整性檢查OK?」+ pkcs7.verify()); \t \t return pkcs7; \t} – user1987823
這裏指的是PdfPKCS7&AcroFields iText-2.1.7jar在這裏我需要錯誤...請讓我知道對於Android有沒有其他版本... – user1987823