Как я могу исправить: SunTls12RsaPremasterSecret KeyGenerator не доступен - PullRequest
0 голосов
/ 15 февраля 2019

Я сталкиваюсь с ошибкой "KeyGenerator недоступен" при попытке создать SSL-соединение с использованием Javax.mail.

Проект функционировал 3-4 года назад, и он был обновлен до JDK1.8 и доновый JRE.Я предполагаю, что проблема заключается в некоторой фундаментальной причуде при обновлении проекта.

Я следовал всему перечисленному Здесь.

Я добавил путь из JKD1.8.0_131/jre/lib/ext/sunjce_provider.jar в мою библиотеку проекта, чтобы она находилась как в библиотеке JRE, так и в пути к классам проекта.

java.security.NoSuchAlgorithmException: SunTls12RsaPremasterSecret KeyGenerator not available
at javax.crypto.KeyGenerator.<init>(KeyGenerator.java:169) ~[?:1.8.0_131]
at javax.crypto.KeyGenerator.getInstance(KeyGenerator.java:223) ~[?:1.8.0_131]
at sun.security.ssl.JsseJce.getKeyGenerator(JsseJce.java:251) ~[?:1.8.0_131]
at sun.security.ssl.RSAClientKeyExchange.<init>(RSAClientKeyExchange.java:78) ~[?:1.8.0_131]
.....

В этот момент я ожидал, что код создаст соединение.Что я могу сделать, чтобы решить эту проблему?

1 Ответ

0 голосов
/ 15 февраля 2019

Вам все равно следует обновить Java 8 до текущего уровня исправления, но в соответствии с этой проблемой вам потребуется как минимум уровень исправления 192 вместо 131. Это проблема для OpenJDK, но для Oracle Java этоКажется, это то же самое.

Я предполагаю, что ваш код подключался к серверу, который был обновлен до TLS 1.2 с момента вашего последнего использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...