Добавление провайдера bouncycastle в fuse esb - PullRequest
0 голосов
/ 05 мая 2020

Пакет osgi в моем приложении, который работает внутри fuse esb, требует шифрования pgp, предоставляемого bouncycastle. Поставщик Bouncycastle не должен влиять на функциональность других пакетов приложений / fuse esb. Поскольку bouncycastle не является jar-файлом OSGI, как его можно добавить в среду fuse ESB?

Я переупаковал bouncycastle jar как файл OSGI, но он дает ошибку подписи. Я скопировал банку в каталог безопасности JDK, но мой пакет приложений не начинает говорить, что классы bouncycastle не найдены. То же самое с копированием в каталог внешней библиотеки karaf.

Ответы [ 2 ]

0 голосов
/ 22 мая 2020

1) Добавить файлы jar bouncycastle в lib / ext

2) Добавить пакеты bouncycastle в bootdelegation в etc / config.properties (как в первом ответе выше)

3) Явно удалить пакеты bouncycastle из раздела импорта maven-bundle-plugin

                 <Import-Package>
                        !org.bouncycastle.jce.*,
                        !org.bouncycastle.bcpg.*,
                        !org.bouncycastle.openpgp.*,
                        !org.bouncycastle.openpgp.operator.*,
                        !org.bouncycastle.openpgp.operator.bc.*,
                        !org.bouncycastle.openpgp.operator.jcajce.*,
                        *
                    </Import-Package>

4) Импортируйте эти пакеты в динамический c раздел импорта

0 голосов
/ 05 мая 2020

Вы не указали версию Fuse ESB (тогда называлась JBoss Fuse, теперь называется Red Hat Fuse). Я использовал Fuse 7.6.

Я проверил тривиальный пример pgp, и все, что мне нужно, это добавить bcpg-jdk15on-164.jar в $FUSE_HOME/lib/ext - этот каталог уже содержит библиотеки bcpkix и bcprov. Однако поддержка OpenPGP предоставляется из библиотеки bcpg.

С точки зрения OSGi вам просто нужен правильный импорт (или динамический c импорт). Нет необходимости устанавливать какие-либо пакеты, потому что все настроено в $FUSE_HOME/etc/config.properties:

org.osgi.framework.bootdelegation = \
    ...
    sun.*, \
    org.bouncycastle, \
    org.bouncycastle.*, \
    ...

Если вы используете JBoss Fuse 6.x, это то же самое. Просто $FUSE_HOME/lib/ext содержит только bcprov-jdk15on.jar.

...