В java SSLv3 отключен, но в javamail API работает ssl?

Java отключил SSLv3 из-за уязвимости. Но в почтовом API Java с использованием SMTP-сервера через SSL работает? Почему это так?


person some IT dood    schedule 08.08.2019    source источник


Ответы (2)


Электронная почта через SSL использует семейство протоколов SSL/TLS, реализованное SSLSocketImpl и связанными классами в библиотеке времени выполнения Java.

В зависимости от того, какую версию Java вы используете, SSLSocketImpl согласует приемлемую версию протоколов SSL/TLS с удаленным сервером. Java может поддерживать до TLSv1.3 (в Java 11). Поддержка TLSv1.0 была добавлена ​​в Java 6 в обновлении 1111.

Фактически, в январе 2015 года было выпущено обновление для Java 6 и более поздних версий, чтобы по умолчанию отключить поддержку SSLv3 в Java 6 и более поздних версиях. Вам нужно будет установить системное свойство, чтобы включить SSLv3.

1 – обновление 111 для Java 6 недоступно для всех. Если вы используете последнюю общедоступную версию Java 6, вы застряли с использованием небезопасного SSLv3 или более ранней версии. Большинство SMTP-серверов не примут это. Это еще одна причина перейти на поддерживаемую версию Java; например Java 8, 11 или более поздней версии.


Но в почтовом API Java с использованием SMTP-сервера через SSL работает? Почему это так?

Потому что он не использует SSLv3 (или более раннюю версию); см. выше.

person Stephen C    schedule 08.08.2019
comment
Добавлю, что общедоступные обновления для Java 6 закончились в апреле 2013 г., поэтому без Контракт на поддержку Oracle, любая работающая Java 6 не будет иметь этих обновлений (наряду со многими другими...) и почти наверняка ужасно, устарела и совершенно небезопасна. И даже платная поддержка Java закончилась в декабре 2018 года. - person Andrew Henle; 08.08.2019

Вот ссылка на другой вопрос о переполнении стека, который, я думаю, также отвечает на этот вопрос. переполнение стека

Как указано здесь, в этой ссылке:

протокол можно повторно активировать, удалив «SSLv3» из свойства jdk.tls.disableAlgorithms в файле java.security или динамически установив для этого свойства значение «true».

person Elliott Weeks    schedule 08.08.2019