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>
私はいくつかのがをグーグルでやったと何人かの人々は、おそらく問題は、私はこのはBouncyCastle libには、どこかを重複して持つことであると言います。
スプリングアプリケーションビルドMavenの内部にあります。では、これは本当に図書館の問題ですか?
私はJDK 1.8を使用しています。私はを試してみた何
:Mavenを持つ
- 異なるバージョンはBouncyCastle。
- プロジェクト(iTextを含む)に手作業で追加された様々なバウンシーバージョン(私のJDKバージョンをサポート)が追加されました。
しかし行動は、(常に)を動作し、いくつかの他んではない(これまで)いくつかのPDFと全く同じです。
iTextライブラリを使用してこのような問題が発生したことはありますか? 問題が
ですでコードのクラッシュ私のプロジェクトでなく作るPDFファイル?
私は完全にここにこだわっているので、どんなヘルプやヒントもありがとうございます。前もって感謝します。
常に機能するPDFは、暗号化を一切使用しないものです。うまくいかないものはBouncyCastleが必要です。このエラーは、BouncyCastleが欠落しているとは言いませんが、1つの鍵で署名されたjarと、署名されていない(おそらく原因)か、別の鍵で署名されているJarを使用しています。例えば、http://stackoverflow.com/questions/2877262/java-securityexception-signer-information-does-not-match –
を参照してください。ライブラリクラスが他のアーティファクトに追加されることがあります。したがって、恐らく複製されたbcパッケージは、ある種のjarファイルに入っている可能性があります。 – mkl
あなたの助けを借りてくれてありがとう。この2つの方向のいずれかを進めると、さらに調査して更新します。ありがとうmklとブルーノ。 –