Эта ошибка означает, что ваша виртуальная машина Java использует политику, которая разрешает только ограниченные размеры ключей криптографии из-за законов США об экспорте.
Java 9 и выше
Файлы политики неограниченной юрисдикции включены в Java 9 и используются по умолчанию (см. Обновления безопасности в Руководстве по миграции на Java 9 ).
Если вы получаете эту ошибку с Java 9, это может означать, что конфигурация политики была изменена на более ограничительную политику (limited
), см. Инструкции из руководства по миграции:
Файл политики юрисдикции JCE по умолчанию не ограничен
Если вашему приложению ранее требовалась криптография Java
Расширение (JCE) файлов политики неограниченной юрисдикции силы, то вы
Больше не нужно скачивать или устанавливать их. Они включены в
JDK и активированы по умолчанию.
Если ваша страна или использование требует более строгой политики,
ограниченные файлы политики шифрования Java по-прежнему доступны.
Если у вас есть требования, которые не соответствуют ни одному из правил
файлы предоставляются по умолчанию, тогда вы можете настроить эти файлы политики
чтобы удовлетворить ваши потребности.
См. crypto.policy
Свойство безопасности в
<java-home>/conf/security/java.security
файл или
Конфигурация криптостойкости в платформе Java,
Standard Edition Security Developer Guide.
Java 8 и более ранние
Java 8, обновление 161 и выше
Начиная с Java 8, обновление 161, по умолчанию в Java 8 применяется политика неограниченной юрисдикции. Если вы получите эту ошибку, это может означать, что конфигурация была изменена на limited
. См. Инструкции в следующем разделе по Java 8 Update 151 или в предыдущем разделе по Java 9, чтобы изменить это значение на unlimited
.
Java 8, обновление 151 и выше
Начиная с Java 8 Update 151, политика неограниченной юрисдикции включена в Java 8, но по умолчанию не используется. Чтобы включить его, вам нужно отредактировать файл java.security
в <java_home>/jre/lib/security
(для JDK) или <java_home>/lib/security
(для JRE). Раскомментируйте (или включите) строку
crypto.policy=unlimited
Убедитесь, что вы редактируете файл с помощью редактора, запускаемого от имени администратора.
Изменение политики вступает в силу только после перезапуска JVM (это особенно важно для долго выполняющихся серверных процессов, таких как Tomcat).
Для обратной совместимости установка файлов политики, как описано в следующем разделе, также будет работать.
Перед обновлением Java 8 151
Для Java 8 Update 144 и более ранних версий вам необходимо установить файлы политики неограниченной юрисдикции расширения криптографии Java (JCE) (доступно по адресу Oracle ).
Для установки этих файлов (из README.txt
в загрузке):
Загрузите файлы политики JCE неограниченной силы.
Распакуйте и распакуйте загруженный файл.
Это создаст подкаталог с именем jce.
Этот каталог содержит следующие файлы:
README.txt This file
local_policy.jar Unlimited strength local policy file
US_export_policy.jar Unlimited strength US export policy file
Установите файлы JAR политики неограниченной силы.
На случай, если позже вы решите вернуться к исходному «сильному», но
ограниченные версии политики, сначала сделайте копию оригинального JCE
файлы политики (US_export_policy.jar и local_policy.jar). затем
замените сильные файлы политики неограниченной силой
версии, извлеченные на предыдущем шаге.
Стандартное место для файлов JAR политики юрисдикции JCE:
<java-home>/lib/security [Unix]
<java-home>\lib\security [Windows]
Примечание для JDK находится в jre / lib / security.
Новый файл политики вступает в силу только после перезапуска JVM (это особенно важно для долго выполняющихся серверных процессов, таких как Tomcat).