2017-04-04 70 views
2

我正在開發一個小工具,水印PDF文件,它工程一些 PDF和崩潰的一些其他人。「類‘org.bouncycastle.asn1.ASN1Primitive’的簽名信息並不在同一個包匹配其他類的簽名者信息」利用iText

我使用的iText庫和BouncyCastle的(依賴)

的pom.xml:

<dependency> 
     <groupId>com.itextpdf</groupId> 
     <artifactId>itextpdf</artifactId> 
     <version>5.5.6</version> 
    </dependency> 
    <dependency> 
     <groupId>org.bouncycastle</groupId> 
     <artifactId>bcprov-jdk15on</artifactId> 
     <version>1.49</version> 
    </dependency> 

崩潰這行(代碼的第一行):

PdfReader reader = new PdfReader(src); 

隨着以下stacktrace

Exception in thread "main" com.itextpdf.text.exceptions.InvalidPdfException: class "org.bouncycastle.asn1.ASN1Primitive"'s signer information does not match signer information of other classes in the same package 
at com.itextpdf.text.pdf.PdfReader.readPdf(PdfReader.java:727) 
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:181) 
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:219) 
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:207) 
at com.itextpdf.text.pdf.PdfReader.<init>(PdfReader.java:197) 
... <from here it points to my code> 

我做了一些google搜索有些人說,可能的問題是,我有這個BouncyCastle的LIB複製地方。

這是在春天應用程序構建與Maven。那麼,這可能是一個圖書館問題嗎?

我正在使用JDK 1.8

我已經試過

  • 不同BouncyCastle的版本使用Maven。
  • 不同的bouncycastle版本(支持我的JDK版本)手動添加到項目(包括iText)中。

但行爲是完全一樣的,有的PDF (總是)的作品和其他一些曾經)。

您是否曾經遇到類似於此問題的任何問題?使用iText庫?

是在問題的PDF文件讓代碼崩潰在我的項目,而不是?

我完全卡在這裏所以任何幫助/提示將不勝感激。提前致謝。

+1

始終有效的PDF是那些不以任何方式使用加密的PDF。那些不起作用的,他們需要BouncyCastle。該錯誤並未說明BouncyCastle丟失,但是您使用的是使用一個密鑰簽名的jar,以及其他未簽名(最有可能導致)或使用另一個密鑰簽名的jar。參見http://stackoverflow.com/questions/2877262/java-securityexception-signer-information-does-not-match –

+1

有時候庫類會被添加到其他工件中。因此,可能重複的bc軟件包在某個jar中,你不會懷疑它會進入。 – mkl

+0

感謝您的幫助。當我在這兩個方向中的任何一個前進時,我會進一步調查和更新。謝謝mkl和布魯諾。 –

回答

1

感謝布魯諾Lowagie評論和鏈接的問題和MKL的提示,我已經找到了問題。

在我構建路徑兩個org.bouncycastle庫,一個我通過Maven的bcprov-jdk15on.jar),並將另一個是鉸接TC服務器com.springsource.org.bouncycastle.jce-1.46.0.jar)使用。

刪除樞紐 TC服務器BouncyCastle的罐子錯誤已經消失

Pivotal bouncycastle jar was there

使用STS我無法刪除它,所以我發現它在文件系統和匹維託TC希望它是文件夾移動。然後,這個庫在STS消失了。

我還沒有刪除它,以防萬一,只能移動到另一個目錄。如果我從現在起與Pivotal TC有問題,我會更新我的答案。

相關問題