2017-04-04 1 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> 

내가을 인터넷 검색을 몇 가지 일을했고 어떤 사람들은 아마도 문제는 내가이 bouncycastle lib 디렉토리 어딘가에 중복이 있다는 것을 말한다.

스프링 응용 프로그램 빌드 Maven입니다. 그래서, 이것이 정말로 도서관 문제 일 수 있습니까?

나는 을 사용하고 있습니다. JDK 1.8입니다. 내가을 시도했습니다 무엇

: 메이븐과

  • 다른 bouncycastle 버전.
  • 다른 Bouncycastle 버전 (내 JDK 버전 지원)이 수동으로 프로젝트에 추가되었습니다 (iText 포함).

는하지만 동작이 정확히 동일, (항상) 작동 일부 PDF 및 일부 다른 하지 (지금)를 않습니다.

iText 라이브러리를 사용하여 이와 비슷한 문제가 발생 했습니까? 문제가

에서코드 충돌 내 프로젝트에서 하지 만드는 PDF 파일?

저는 완전히 여기에 붙어있어 도움이나 팁을 주시면 감사하겠습니다. 미리 감사드립니다.

+1

항상 작동하는 PDF는 암호화를 사용하지 않는 PDF입니다. 작동하지 않는 사용자는 BouncyCastle이 필요합니다. 이 오류는 BouncyCastle이 누락되었다고 말하지 않지만 하나의 키로 서명 된 jar와 서명되지 않은 (다른 원인 일 가능성이 큰) jar 또는 다른 키로 서명 된 jar를 사용하고 있음을 나타냅니다. 예를 들어 http://stackoverflow.com/questions/2877262/java-securityexception-signer-information-does-not-match –

+1

을 참조하십시오. 때때로 라이브러리 클래스가 다른 이슈에 추가됩니다. 따라서, 아마도 bc 패키지가 중복되어서 어떤 용기에있을 것입니다. – mkl

+0

도움 주셔서 감사합니다. 이 두 가지 방향으로 나아갈 때 나는 더 깊이 조사하고 업데이트 할 것입니다. 감사합니다 mkl과 브루노. –

답변