iText / BouncyCastle ClassNotFound org.bouncycastle.asn1.DEREncodable and org.bouncycastle.tsp.TimeStampTokenInfo

Я пытаюсь использоватьIText Джава. Когда вы запустите пример & quot;как подписать& Quot; возникает следующая ошибка:

<code>Caused by: java.lang.ClassNotFoundException: org.bouncycastle.tsp.TimeStampTokenInfo
</code>

Согласно& quot; Начало работы с iText - Как подписать PDF с помощью iText & quot;Я должен использоватьBouncyCastle.

Я скачал файл: bcprov-jdk15on-147.jar изСтраница загрузки BouncyCastle.
И добавил в проект: Java Build Path / Библиотеки / Добавить внешние JAR-файлы ...

Я добавил следующую строку:

<code>Security.addProvider(new BouncyCastleProvider());
</code>

При запуске примера возникает та же ошибка.
Поэтому я скачал другой файл: bcpkix-jdk15on-147.jar, озаглавленный «PKIX / CMS / EAC / PKCS / OCSP / TSP / OPENSSL».
И добавил в проект: Java Build Path / Библиотеки / Добавить внешние JAR-файлы ...
Теперь у меня есть две банки.

При запуске примера возникает следующая ошибка:

<code>Caused by: java.lang.ClassNotFoundException: org.bouncycastle.asn1.DEREncodable
</code>

Я попытался загрузить файл & quot; bcprov-ext-jdk15on-147.jar & quot; но не решил проблему.

Я использую iText 5.2.1 и затмение на Windows 7 64 бит.

Ответы на вопрос(8)

iText помечает зависимости bouncycastle как необязательные. Если они вам нужны, вам нужно добавить зависимости в ваш собственный файл pom.

Чтобы узнать, какую зависимость включить в ваш проект, откройте файл itextpdf pom.xml той версии, которую вы используете (например, 5.3.2,Вот) и найдите 2 зависимости bouncycastle.

    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>1.47</version>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcmail-jdk15on</artifactId>
        <version>1.47</version>
        <optional>true</optional>
    </dependency>

Скопируйте их в свой файл POM и удалитеoptional вариант.

    <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>5.3.2</version>
    </dependency>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcprov-jdk15on</artifactId>
        <version>1.47</version>
    </dependency>
    <dependency>
        <groupId>org.bouncycastle</groupId>
        <artifactId>bcmail-jdk15on</artifactId>
        <version>1.47</version>
    </dependency>
 20 окт. 2015 г., 21:15
Я люблю тебя @jehon, ты мужчина.
 07 нояб. 2013 г., 15:57
Спасибо человеку, это прекрасно работает
 04 июл. 2014 г., 00:48
bcprov-jdk15on: 1.48 также работает и в настоящее время включен в ZIP-файл extra-jar, который K & # x131; van & # xE7; Sahici упомянутый выше

В версии 5.5.4 itextpdf зависимости org.bouncycastle помечаются как<optional>true</optional>, Это означает, что вы ДОЛЖНЫ включить эти зависимости в свой собственный pom, или вы можете столкнуться с исключениями, не найденными в классе.

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>itextpdf</artifactId>
    <version>5.5.4</version>
</dependency>

<!-- Bouncycastle dependencies necessary as they are optional = true
    in itextpdf ... but they're not-so-optional in reality -->
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.49</version>
</dependency>
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcpkix-jdk15on</artifactId>
    <version>1.49</version>
</dependency>

Для jruby-ers с той же ошибкой я обновил jruby-complete-9.1.13.0.jar с jruby-complete-1.6.6.jar, и проблема, похоже, разрешилась ... FWIW ...

Странно, что банки, доступные на bouncycastle.org, по-видимому, не содержат этот класс. Возможно, вы захотите использовать один из мест, перечисленных вэта страница (ссылка).

 17 янв. 2013 г., 04:52
Меня поражает, что они удалили этот класс, но все еще ссылаются на него из своего собственного файла jar. У нас есть тест, которыйonly касается BouncyCastle и выдает точно такую же ошибку.

К счастью, фляги зависимости теперь поставляются вместе с iText.

Пожалуйста, проверьте ссылку на репозиторий ниже и загрузитеextrajars.zip файл

http://sourceforge.net/projects/itext/files/

из версии bcprov-jdk15on-147 класс DEREncodable больше не существует по пути org.bouncycastle.asn1. Вы можете использовать версию до 146 (включая 146), чтобы решить этот вопрос.

 01 мая 2015 г., 01:32
Да, пара важных классов изменилась в версии 1.47 bouncycastle:bouncycastle.org/wiki/display/JA1/…<,/span> – andrew lorien Apr 30 '15 at 23:32
Решение Вопроса

В библиотеках BouncyCastle происходят серьезные изменения API, которые нарушают совместимость с другими библиотеками, такими как iText.

Или

use a previous version of BouncyCastle libs. Old versions can be found here. However, you'll have to find the right version of iText that was compatible with this particular version of BC.

make your own build of iText (the SVN trunk has been fixed). iText can be build with Maven (there's a short readme file at the root of the SVN). Please note that it's at your own risk, there may be bugs in trunk.

wait for the next version of iText. From my experience, iText releases come every couple of months, sometime more often, sometimes less. I'm not an iText committer though, so I can't give you any ETA.

Больше информации можно найтив этой теме

 01 мая 2012 г., 15:03
Если у вас не будет времени, я буду ждать следующего релиза iText. Если вы не можете, я отредактировал свой ответ с более подробной информацией ...
 19 янв. 2013 г., 21:08
Для iText2.1.7 и Sun JDK 1.7 Эта ссылка исправила проблему DEREncodable not_found.repo2.maven.org/maven2/org/bouncycastle/bcprov-jdk15%2b/1.46/…
 Cobaia01 мая 2012 г., 01:22
Что вы предлагаете? Я пытался получить SVNitext.svn.sourceforge.net/svnroot/itext но я не знаю, как скомпилировать. Я пытался использовать старую версию BouncyCastlerepo1.maven.org/maven2/org/bouncycastle безуспешно.

У меня та же проблема, но я исправил ее, когда я скачал libreria и обновил эти файлы в / WEBINF / LIB

Ваш ответ на вопрос