Подтвердить что ты не робот

Java.lang.SecurityException: файлы политики юрисдикции не подписаны доверенным подписывающим лицом

При работе с другой проблемой (связанной с RMI) я обновил "папку безопасности" системы с файлами политики "неограниченная сила", и теперь мое приложение не работает по-другому. Я получаю длинный свалку, из которых следуют следующие биты:

Exception in thread "main" java.lang.ExceptionInInitializerError

[...crop...]

Caused by: java.lang.SecurityException: Can not initialize cryptographic mechanism
        at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:86)
        ... 17 more
Caused by: java.lang.SecurityException: The jurisdiction policy files are not signed by a trusted signer!

[...crop...]

Um, WTF? Единственное изменение заключалось в том, что я переместил файлы orignal jar в сторону и добавил неограниченные в $JAVA_HOME/lib/security. Этот каталог теперь выглядит следующим образом:

$ ls
blacklist      javaws.policy               trusted.libraries
cacerts        local_policy.jar            US_export_policy.jar
java.policy    local_policy.jar.strong     US_export_policy.jar.strong
java.security  local_policy.jar.unlimited  US_export_policy.jar.unlimited

Конечно, есть версия .strong и .unlimited, поэтому я могу быстро вернуться назад.

Направления были короткими и понятными, и казалось бы, что они ТОЛЬКО предусматривают замену этих двух файлов (local_policy.jar и US_exportpolicy.jar).

Что еще нужно делать?

Обратите внимание, что версии java и файлы политики являются самыми младшими на сегодняшний день: 1.7.0_03 и jce_policy-6 соответственно.

P.S. Статья подобного названия, найденная здесь, не помогла.

4b9b3361

Ответ 1

Вместо того, чтобы смешивать версии среды выполнения и файлы политик, вы должны использовать файлы политики для Java 7.

Ответ 3

Это может произойти, если в пути к классам есть стандартные файлы jar политики. Я предлагаю найти и заменить все файлы local_policy.jar и us_export_policy.jar неограниченными версиями этих баннеров на вашем компьютере. Если вы используете IBM WAS/Portal Server/RAD, вот ссылка на неограниченную политику JCE jars.

Ответ 4

Возможно, у вас разные версии JDK. Например, если ваш JAVA_HOME указывает на версию 7, но на вашем пути версия 6 появляется до версии 7, эта ошибка может появиться.