Проблемы с размером ключа Diffie Hellman в Java 8 в 32-битной Linux - PullRequest
0 голосов
/ 12 ноября 2018

после обновления java с 1.7 до 1.8 в старой 32-битной системе linux мы получаем следующее сообщение об ошибке во время связи с веб-сервисом:

Причина: java.security.InvalidAlgorithmParameterException: DHразмер ключа должен быть кратным 64, и может варьироваться от 512 до 2048 (включительно).Конкретный размер ключа 4096 не поддерживается

Распределение linux:

uname -a

Linux XXX-XXX-S018 2.6.16.21-0.8-default # 1 Пн 3 июля 18:25:39 UTC 2006 i686 i686 i386 GNU / Linux

Дистрибутив:

cat / etc / * release

LSB_VERSION = "core-2.0-noarch: core-3.0-noarch: core-2.0-ia32: core-3.0-ia32" SUSE Linux Enterprise Server 10 (i586) ВЕРСИЯ = 10

Используемая нами версия Java (32-разрядная и 64-разрядная версии)

Версия Java:

jdk1.8.0_151

СтранноДело в том, что после перехода на Java 1.7 все работает без проблем.

Также то же приложение работает в другой 64-битной системе (с Java 1.8) - поэтому мы предполагаем, что это может быть проблемой с архитектурой ОС (32-битной), возраст ОС (в этом случае из2006) и java.

Мы нашли несколько сообщений об ошибках, связанных с открытым JDK, что максимальная длина была 2048 - но в настоящий момент мы используем обычный JDK из oracle.

Спасибо за вашу помощь

1038 * Хауке

1 Ответ

0 голосов
/ 12 ноября 2018

пожалуйста, прочитайте https://www.oracle.com/technetwork/java/javase/8u151-relnotes-3850493.html

в Oracle JRE 8u151 вы найдете файл java.security и установите для crypto.policy значение 'unlimited'.

Я полагаю, что в вашей JRE7 уже установлена ​​политика неограниченной силы JRE

В более новых версиях (8u161, ..) по умолчанию включена неограниченная сила.

Обратите внимание, что в Oracle JRE 8u151 есть серьезная проблема с декодированием потока gzip. При использовании с веб-сервером / сервером приложений, таким как Tomcat, вы должны отключить сжатие потока или обновить его до чуть более высокого уровня https://bugs.java.com/view_bug.do?bug_id=JDK-8189789

...