local_policy.jar и US_export_policy.jar отличаются неограниченной силой от значения по умолчанию.

В документации платформы Java http://www.oracle.com/technetwork/java/javase/jrereadme-182762.html. Что касается комментария о

/lib/security/local_policy.jar /lib/security/US_export_policy.jar


Расширение Java Cryptography Unlimited Strength

Из-за ограничений контроля импорта для некоторых стран файлы политики Java Cryptography Extension (JCE), поставляемые с Java SE Development Kit и Java SE Runtime Environment, позволяют использовать сильную, но ограниченную криптографию.

Версия этих файлов с неограниченной стойкостью, указывающая на отсутствие ограничений на криптографическую стойкость, доступна на веб-сайте JDK для тех, кто живет в соответствующих странах. Те, кто живет в соответствующих странах, могут загрузить версию с неограниченной стойкостью и заменить файлы jar с надежной криптографией файлами с неограниченной стойкостью. Вопросы

  1. Каждый ли пакет JDK поставляется с local_policy.jar и US_export_policy.jar?
  2. Каково ограничение по умолчанию local_policy.jar и US_export_policy.jar. Это размер ключа?
  3. Если мне нужно использовать 128-битные ключи, нужно ли использовать криптографию Java Unlimited Strength
    Extension
  4. Есть ли способ сохранить эти две банки на внешнем пути и загрузить их. Поскольку у меня более 50 серверов, вместо того, чтобы работать с каждым JDK, я бы предпочел поддерживать его в одном месте.

person John Peterson    schedule 21.09.2014    source источник


Ответы (1)


Каждый ли пакет JDK поставляется с local_policy.jar и US_export_policy.jar?

Ага. JCE был интегрирован в Java 2 SDK с момента выпуска 1.4.

Каково ограничение по умолчанию local_policy.jar и US_export_policy.jar. Это размер ключа?

Да, это ключевой размер. Я считаю, что больше 128 бит не допускается. Вы можете проверить максимальный размер алгоритма с помощью int maxKeyLen = Cipher.getMaxAllowedKeyLength("AES");

Если мне нужно использовать 128-битные ключи, нужно ли использовать расширение Unlimited Strength Java Cryptography Extension

Я не думаю, что для шифрования с 128-битным ключом вам нужны jar-файлы Unlimited Strength Java Cryptography Extension. Стандартные должны работать нормально.

Есть ли способ сохранить эти две банки на внешнем пути и загрузить их. Поскольку у меня более 50 серверов, вместо того, чтобы работать с каждым JDK, я бы предпочел поддерживать его в одном месте.

Как упоминалось выше, этот сценарий не должен происходить, если вы используете 128-битный ключ для шифрования, но если вы используете более длинный ключ (например, 256), вам нужно будет получить банки неограниченной прочности и заменить их в $JAVA_HOME/jre/lib/security. Поскольку это находится в самом JDK / JRE, вы не можете сделать его централизованным, кроме распределенных серверов. Вам нужно будет заменить его на каждом из ваших серверов.

Обратитесь к оракулам в справочнике.

Также, если вы не хотите этого делать, вы можете обратиться к следующей теме для поиска альтернатив -

Как избежать установки «Неограниченной силы» Файлы политики JCE при развертывании приложения?

Отражение - это пользователь в потоке как обходной путь. Хотя я бы не рекомендовал это, вы можете взглянуть на это.

Я резюмировал все в одном посте. Вы тоже можете сослаться на это -

Как установить политику юрисдикции неограниченной силы Java Cryptography Extension (JCE) файлы

person Aniket Thakur    schedule 21.09.2014
comment
Если это один сервер с множеством экземпляров JVM, как вы думаете, можно ли централизовать файлы Security.jar с помощью Linux Symbolic? - person John Peterson; 22.09.2014