Назад | Перейти на главную страницу

при обновлении до jre 1.7 update 40 невозможно запустить главную страницу Tomcat 7.0.37 и 7.0.42 с аутентификацией клиента

В Windows Server 2008 Tomcat 7.0.37 и обновление 21 JRE 7 отлично работают с аутентификацией клиента с использованием следующей записи файла server.xml:

<Connector port="8443" crlFile="conf/mvca.crl" truststoreType="JKS"  truststorePass="changeit" truststoreFile="c:/program files/java/jre7/lib/security/cacerts" keystorePass="maxview" keystoreFile="conf/mvkey.ks" sslProtocol="TLS" clientAuth="true" secure="true" scheme="https" maxThreads="150" SSLEnabled="true" protocol="HTTP/1.1"/>

После обновления до JRE 7 update 40 я больше не могу открывать главную страницу tomcat по адресу: https: /mymachine.mydomain.com: 8443

Я вижу ту же ошибку при использовании JRE 7 update 40 и Tomcat 7.0.42.

Код ошибки HTTP отсутствует. Отображаемое сообщение об ошибке: Internet Explorer не может отобразить веб-страницу.

Запустится служба Tomcat7.

Если аутентификация клиента отключена, будет работать главная страница.

Я не вижу соответствующих сообщений об ошибках в журналах Tomcat.

Какие шаги я могу предпринять, чтобы пролить свет на проблему и определить ее первопричину?

Интересно, связано ли это с некоторыми криптографическими изменениями в обновлении 40, когда ключи RSA <1024 были отключены.

Из примечаний к выпуску:

http://www.oracle.com/technetwork/java/javase/7u40-relnotes-2004172.html#newft

Сертификаты x.509 по умолчанию имеют более длинную длину ключа Начиная с версии 7u40, использование сертификатов x.509 с ключами RSA длиной менее 1024 бит ограничено. Это ограничение применяется через свойство безопасности Java, jdk.certpath.disabledAlgorithms. Значение по умолчанию jdk.certpath.disabledAlgorithms теперь выглядит следующим образом:

jdk.certpath.disabledAlgorithms = MD2, RSA keySize <1024 Чтобы избежать проблемы совместимости, пользователям, которые используют сертификаты X.509 с ключами RSA менее 1024 бит, рекомендуется обновить свои сертификаты с помощью более надежных ключей. В качестве обходного пути пользователи на свой страх и риск могут изменить размер ключа, чтобы разрешить меньшие размеры ключей, с помощью свойства безопасности jdk.certpath.disabledAlgorithms.

Быстрая разница в $JAVA_HOME/jre/lib/security/java.security показывает:

$ diff java.security /opt/jdk1.7.0_21/jre/lib/security/java.security

149,152c149,150
<                com.sun.org.apache.xml.internal.security.,\
<                com.sun.org.glassfish.,\
<                org.jcp.xml.dsig.internal.,\
<                oracle.jrockit.jfr.
---
>                com.sun.org.glassfish.
>
186,189c184,185
<                    com.sun.org.apache.xml.internal.security.,\
<                    com.sun.org.glassfish.,\
<                    org.jcp.xml.dsig.internal.,\
<                    oracle.jrockit.jfr.
---
>                    com.sun.org.glassfish.
>
402c398
< jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
---
> jdk.certpath.disabledAlgorithms=MD2



jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024

Странно, что нет логов, указывающих на то, что не так.