Включаем поддержку сильной криптографии в Java

В данном HOWTO мы рассмотрим как исправить ошибку The cipher ‘aes256-cbc’ is required, but it is not available, которая появляется при попытке подключения к защищённым серверам из приложений, написанных на Java, например NetBeans.

Введение

Указанная выше ошибка возникает из-за того, что в свободно распространяемой версии Oracle Java отключены криптостойкие алгоритмы шифрования из-за экспортных ограничений США.

Решение для Java 7

Если вы используете Java 7, то вам потребуется скачать пакет Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files для jre 1.7 с официального сайта, предварительно приняв лицензионное соглашение.

Распакуйте файлы local_policy.jar и US_export_policy.jar из архива в каталог установки Oracle Java с заменой существующих:

  • для обычной версии — в %PROGRAMFILES%\Oracle\Java\lib\security\;
  • для Portable-версии — в \PortableApps\CommonFiles\Java\lib\security\.

Решение для Java 8

Если вы используете Java 7, то вам потребуется скачать пакет Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files для jre 1.8 с официального сайта, предварительно приняв лицензионное соглашение.

Распакуйте файлы local_policy.jar и US_export_policy.jar в каталоги, указанные выше, с заменой имеющихся файлов.

Завершение

Перезапустите все приложения, использующие Java Runtime, и они смогут использовать сильную криптографию.

Внимание! Данные действия нужно выполнять при каждом обновлении платформы Oracle Java.