Как узнать, какая версия SSL / TLS используется в Java

Я решил эту проблему:

  1. Добавление настраиваемого заголовка в ответ:
    public ActionResult Index(){
        if (!HttpContext.User.Identity.IsAuthenticated)
        {
            HttpContext.Response.AddHeader("REQUIRES_AUTH","1");
        }
        return View();
    }
    
  2. Связывание функции JavaScript с ajaxSuccess и проверить, существует ли заголовок:
    $(document).ajaxSuccess(function(event, request, settings) {
        if (request.getResponseHeader('REQUIRES_AUTH') === '1') {
           window.location = '/';
        }
    });
    

30
задан user207421 11 November 2014 в 20:30
поделиться

2 ответа

Можно узнать, какую версию TLS код использует путем установки системного свойства: передача в -Djavax.net.debug=all в команде Java, которая запускает приложение. Когда приложение согласовывает соединение SSL, оно печатает версию TLS, ищите строку “HelloClient” в выводе.

Для получения дополнительной информации см. https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/ReadDebug.html

0
ответ дан 24 September 2019 в 03:43
поделиться

для кота 8.5.38 и 8.5.46 (и вероятно кота 7.0x и более новый) добавляющий это к шаблону AccessLogValve (в server.xml) - и разрешающий тот Клапан - покажет используемую версию TLS:

%{org.apache.tomcat.util.net.secure_protocol_version}r

eg
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" %{org.apache.tomcat.util.net.secure_protocol_version}r />
0
ответ дан 27 November 2019 в 19:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: