Добавьте набор шифров TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 в Java 7.

Я хотел бы использовать TLSv1.2 с TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 в Java 7.

Я добавил -Ddeployment.security.TLSv1.2=true к аргументам виртуальной машины и хотел бы знать, как добавить набор шифров, упомянутый выше.


person Daniel    schedule 30.10.2015    source источник
comment
Java 7 JSSE (поставщик SSL/TLS) не реализует наборы шифров GCM, только Java 8. Сторонний поставщик, такой как BouncyCastle, может. Также помните, что все JRE Oracle/Sun поддерживают наборы AES-256 (и обычно симметричное шифрование более 128 бит) только в том случае, если установлена ​​опция JCE Unlimited Strength.   -  person dave_thompson_085    schedule 30.10.2015
comment
@ dave_thompson_085: я не упомянул об этом в посте, но ранее я пробовал файлы политик юрисдикции неограниченной силы JCE, а также поставщика надувных замков. Стало доступно несколько дополнительных наборов шифров, но не этот.   -  person Daniel    schedule 06.11.2015
comment
Я сказал (Java8 ИЛИ МОЖЕТ БЫТЬ BC) И (UnlimitedStrength ИЛИ НЕ Oracle - или, точнее, openjdk). Мне показалось, что я вспомнил, как BCprov выполнял SSL/TLS, но при проверке это был только облегченный API, поэтому, если вы не перепишете свой код (и любые задействованные библиотеки), вам понадобится (Java8 для получения GCM) И (UnlimitedStrength ИЛИ openjdk для получения AES256).   -  person dave_thompson_085    schedule 06.11.2015
comment
Я уже использую OpenJDK 8 и имею доступ к этому конкретному набору шифров. Спасибо за объяснение. (Если OpenJDK не нужны файлы политики неограниченной силы, я так понимаю, что на него не влияют ограничения экспорта, такие как Oracle JDK?)   -  person Daniel    schedule 06.11.2015
comment
Я не пытаюсь понять правила экспорта. Дикие догадки: может иметь значение то, что openjdk появился намного позже, чем Sun, или полностью с открытым исходным кодом, или от распределенной группы людей, а не от бизнеса. Там может быть даже волшебство с зеркалами или оборотами, которых я не вижу, потому что я американец. Все, что я знаю наверняка, это то, что установленные банки политик отличаются.   -  person dave_thompson_085    schedule 08.11.2015


Ответы (1)


Подсказки предоставлены @ dave_thompson_085.

Java 7 JSSE (поставщик SSL/TLS) не реализует наборы шифров GCM, только Java 8. Сторонний поставщик, такой как BouncyCastle, может. Также помните, что все JRE Oracle/Sun поддерживают наборы AES-256 (и обычно симметричное шифрование более 128 бит) только в том случае, если установлена ​​опция JCE Unlimited Strength.


Я сказал (Java8 ИЛИ МОЖЕТ БЫТЬ BC) И (UnlimitedStrength ИЛИ НЕ Oracle - или, точнее, openjdk). Мне показалось, что я вспомнил, как BCprov выполнял SSL/TLS, но при проверке это был только облегченный API, поэтому, если вы не перепишете свой код (и любые задействованные библиотеки), вам понадобится (Java8 для получения GCM) И (UnlimitedStrength ИЛИ openjdk для получения AES256).

person Stephan    schedule 29.02.2016