由于POODLE漏洞,最新版本的Chrome和Firefox默认禁用SSLv3.0 。当我尝试打开已设置的站点(运行正常)时,这会导致以下错误:
使用Chrome:
A secure connection cannot be established because this site uses an unsupported protocol. Error code: ERR_SSL_VERSION_OR_CIPHER_MISMATCH
使用Firefox:
Cannot communicate securely with peer: no common encryption algorithm(s). (Error code: ssl_error_no_cypher_overlap)
我已经使用Chrome,Firefox,Tomcat和更多Tomcat文档研究了此问题。我理解问题所在,但是找不到用于将Tomcat 7配置为仅使用现在安全的TLS密码和协议的文档。我不确定是否需要创建新的证书/密钥对,更改我的server.xml或安装新版本的Tomcat,或者什么。我什至不确定这些浏览器现在认为哪个版本的密码/协议是“可接受的”。谁能指出我的文档或示例设置?
我在带有Tomcat 7的Ubuntu 14.04上使用OpenJDK 1.7。
这是我的证书文件(已编辑):
Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry Alias name: something Creation date: May 4, 2013 Entry type: PrivateKeyEntry Certificate chain length: 1 Certificate[1]: Owner: CN=something, OU=something, O=something, L=something, ST=something, C=something Issuer: CN=something, OU=something, O=something, L=something, ST=something, C=something Serial number: ... Valid from: Sat May 04 17:28:21 MST 2013 until: Tue May 02 17:28:21 MST 2023 Certificate fingerprints: MD5: ... SHA1: ... SHA256: ... Signature algorithm name: SHA1withDSA Version: 3
这是我server.xml对HTTPS支持的条目:
server.xml
<Connector port="8484" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="/path/mykeystore" keystorePass="password" clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLS" />
您需要扩展sslEnabledProtocols以包括TLSv1&ff,具体取决于您的Java版本。
sslEnabledProtocols
您可以使用ciphers连接器的元素指定密码。
ciphers
与证书无关。