【问题标题】:How to configure Https on Tomcat 7 with SSL certificate?如何使用 SSL 证书在 Tomcat 7 上配置 Https?
【发布时间】: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


【解决方案1】:

这是我为 Tomcat 7 设置一种方式 SSL 的方法

希望对你有帮助

$Tomcat\bin>keytool -genkey -v -alias ***your alias*** 
-keyalg RSA -validity ***how many days*** 
-keystore ***your keystore file path*** keystore 
-dname "CN=***www.yourdomain.com***, 
OU=***Your Organizational Unit***, O=***Your Organization***, 
L=***Your City***, ST=***Your State***, C=***Your Country correct***" 
-storepass ***your keystore password*** -keypass ***your key password***

而在server.xml

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="***your keystore file path***"
           keystorePass="***your keystore password***" />

【讨论】:

  • 但据我了解,这是自签名证书的方式。但我想把权威签署一份。
  • 对于 CA 签名证书,您必须完全按照 @dave_thompson_085 告诉您的操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-14
  • 2017-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-13
  • 1970-01-01
相关资源
最近更新 更多