Как проверить версию TLS, используемую в javax.mail. *; - PullRequest
0 голосов
/ 05 июня 2018

При подключении к SMTP-серверу с использованием javax.mail, как я могу убедиться, что версия TLS v1.2 или выше.

Я использую версию Java 8 (обновление 162).

Ответы [ 2 ]

0 голосов
/ 24 августа 2019

Вы можете использовать следующий фрагмент кода для получения списка поддерживаемых протоколов, разделенных пробелами:

String.join(" ", SSLContext.getDefault().getSupportedSSLParameters().getProtocols());

В Java 8, который возвращает список с TLSv1.2 в качестве самой высокой версии и список с TLSv1.3 как самая высокая версия в Java 11.

Затем просто установите для свойства System mail.smtp.ssl.protocols это значение, например

String protocols = String.join(" ", 
    SSLContext
        .getDefault()
        .getSupportedSSLParameters()
        .getProtocols()
);

System.setProperty("mail.smtp.ssl.protocols", protocols);
0 голосов
/ 05 июня 2018

Чтобы убедиться, что используется версия TLS:

props.put("mail.smtp.ssl.protocols", "TLSv1.2");

У меня нет средств на 100% подтвердить, что я подключаюсь с v1.2, но это то, что я нашел. Как заставить JavaMailSenderImpl использовать TLS1.2?

...