【发布时间】:2015-08-07 16:15:05
【问题描述】:
我想在我的 Tomcat 服务器上配置 https。我获得了 FreeSSL 证书。但我不知道要进行的步骤。
1. 我收到一封来自 FreeSSL 提供商的电子邮件,其中包含 SSL 证书的文本
2. 我将此文本复制到扩展名为 .p7b 的文件中
3. 我将此证书添加到新的密钥库
4. 在 server.xml 中,我插入了此密钥库的路径,并且传递如下:
<Connector
SSLEnabled='true'
keystoreFile="/path/to/certificates/keystore"
keystorePass="password"
maxSpareThreads='75'
port='8443'
proxyPort='443'
algorithm='SunX509'
enableLookups='false'
secure='true'
maxThreads='150'
connectionTimeout='20000'
disableUploadTimeout='true'
scheme='https'
minSpareThreads='5'
maxHttpHeaderSize='8192'
sslProtocol='SSL'
acceptCount='200'
clientAuth='false'
sslEnabledProtocols="TLSv1.2,TLSv1.1,TLSv1"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256,
SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
/>
但是在这一步之后我得到下一个错误:
无法与对等方安全通信:没有通用加密 算法。 (错误代码:ssl_error_no_cypher_overlap)
在 FireFox 和
上无法建立安全连接,因为此站点使用 不支持的协议。错误代码:ERR_SSL_VERSION_OR_CIPHER_MISMATCH
在 Chrome 上
编辑: 当我请求 SSLCertificate 时,我创建了 cert.csr 和 keystore.keystore。但现在我不使用它们了。会不会是这个问题?
EDIT2:
正如在 cmets 中所写的那样,我找到了初始密钥库并将新证书放入其中。在此之后我在 Firefox 上遇到错误:
安全连接失败
与 domain.com:8443 的连接在页面加载时中断。 您尝试查看的页面无法显示,因为无法验证接收到的数据的真实性。 请联系网站所有者,告知他们此问题。
【问题讨论】:
-
是的,这正是问题所在。您必须将 CA 中的证书链“导入”到与用于生成 CSR 相同的密钥库条目中,然后使用它(或它的副本)。任何 SSL 服务器或其他 PK 证明者都必须具有 私钥 和 证书链,Java 实现这一点的方式是将它们组合在密钥库中的一个“私钥”条目中.
-
我将密钥从 CA 上传到商店,但在此 Firefox 显示后:Firefox 无法与 izsearch.com 的服务器建立连接。该站点可能暂时不可用或太忙。请稍后再试。如果您无法加载任何页面,请检查您计算机的网络连接。如果您的计算机或网络受到防火墙或代理的保护,请确保允许 Firefox 访问网络。
-
实际上“加载时中断”(我也在 8443 上)在您的编辑中与“无法连接......不可用或忙”(我在 443 上)不同评论。对于前者,Wireshark 在响应 ClientHello 时显示 FIN,甚至没有警报,这表明服务器存在非常严重的问题。发生该错误时,您的服务器日志中是否有任何相关内容?
-
不,我没有与此问题相关的日志。
标签: ssl https tomcat7 ssl-certificate