Конфигурация Tomcat 6 SSL - в Chrome появляется сообщение об ошибке, что повторное согласование отключено! - PullRequest
1 голос
/ 17 июня 2011

У меня проблема, когда Google Chrome показывает:

The site uses SSL, but Google Chrome has detected either high-risk insecure content on the page or problems with the site’s certificate. Don’t enter sensitive information on this page. Invalid certificate or other serious https issues could indicate that someone is attempting to tamper with your connection to the site.

сообщение, которое отображается в виде перечеркнутого красным https знака.

Как мне настроить tomcat, чтобы избавиться от сообщения, подробно показанного на картинке ниже?

Я нашел эту ссылку, но не могу разобрать, как это исправить: http://code.google.com/p/chromium/issues/detail?id=72716

Также есть упоминание о проблеме OpenSSL с APR (какой будет альтернатива OpenSSL?):
http://tomcat.apache.org/security-native.html

У меня есть сертификат GeoTrust Business ID, который более чем достаточен длясайт и должен быть достаточно безопасным.Поэтому я считаю, что это какая-то проблема с Tomcat или Java.

Рабочая конфигурация в server.xml:

<Connector port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxHttpHeaderSize="16384"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
acceptCount="100"
connectionTimeout="20000"
disableUploadTimeout="true"

compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla, traviata"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css"

scheme="https"
secure="true"
SSLEnabled="true"
sslProtocol="TLS"
clientAuth="false"
keystoreFile="/usr/share/tomcat6/conf/tomcat.keystore" keystorePass="somepass"
/>

приводит к ошибке на картинке:

enter image description here


ОБНОВЛЕНИЕ - Переход на родной язык

`<Connector port="443"`  

 protocol="org.apache.coyote.http11.Http11AprProtocol"
 maxHttpHeaderSize="16384"
 maxThreads="150"
 enableLookups="false"
 acceptCount="100"
 disableUploadTimeout="true" 

 compression="on"
 compressionMinSize="2048"
 noCompressionUserAgents="gozilla, traviata"
 compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css" 
 scheme="https"
 secure="true"
 SSLEnabled="true"
 SSLCertificateFile="/tomcat/conf/cert.crt"
 SSLCertificateKeyFile="/tomcat/conf/key.pem"
 SSLCACertificateFile="/tomcat/conf/rootandintermidiate.crt"
 clientAuth="optional"
/>

Это, похоже, сработало!

1 Ответ

1 голос
/ 17 июня 2011

Согласно:

http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

"Соединитель APR использует различные атрибуты для ключей и сертификатов SSL."

Примеры, которые ониGive это (JSSE):

<Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS"/>

Для JSSE и затем APR:

<Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="/usr/local/ssl/server.crt" 
           SSLCertificateKeyFile="/usr/local/ssl/server.pem"
           clientAuth="optional" SSLProtocol="TLSv1"/>

Первое, что я заметил, было SSLProtocol отличается (атрибут и его значение), и это нене использовать keystoreFile.Это происходит потому, что:

«Если при установке используется APR, т. Е. Вы установили собственную библиотеку Tomcat, она будет использовать реализацию APR SSL.»

Атрибуты в вашем примере относятся к реализации JSSE, поэтому я предполагаю, что проблема связана с использованием протокола NIO и / или APR.Измените Connector, чтобы использовать атрибуты, предназначенные исключительно для APR, и удалите атрибуты JSSE (или наоборот).

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