Tomcat SSL证书颁发机构无效

时间:2018-01-03 20:46:41

标签: tomcat ssl https rhel

之前尝试过询问但是并不太好,所以继续尝试两个

我试图在RHEL下的tomcat 7服务器上运行SSL。 Sever在HTTP下工作正常但是当我尝试使用HTTPS访问它时,我收到此错误。

enter image description here

进一步研究,chrome告诉我这个

enter image description here

进行了一些研究。将证书添加到/ etc / pki / ca-trust / source / anchors,update-ca-trust,仍然是同样的问题。尝试从头开始重建密钥库并更改它们的导入顺序,但仍然没有。

Heres目前在我的密钥库中:

root, Dec 29, 2017, trustedCertEntry,

tomcat, Dec 29, 2017, PrivateKeyEntry,

intermed, Dec 29, 2017, trustedCertEntry,

crm2.mydomain.org, Jan 3, 2018, trustedCertEntry,

以及我的server.xml中的内容

<Connector
       port="443" maxThreads="200"
       scheme="https" secure="true" SSLEnabled="true"
       keystoreFile="/opt/apache-tomcat-7.0.82/conf/store" keystorePass=[pass]
       clientAuth="false" sslProtocol="TLS"/>

其他信息:

从Godaddy获得的Certs。 使用的安装指南here

godddy ssl checker说我错过了中间证书

Tomcat版本7

RHEL 7.4

java 1.8

感谢任何帮助

1 个答案:

答案 0 :(得分:0)

很难确定,但您似乎没有正确遵循您引用的说明。您的密钥库显示一个trustedCertEntry,其别名看起来像您的域名的编辑;这表明您已将服务器证书导入该条目,而不是名为&#39; tomcat&#39;的privateKeyEntry。

从您关联的页面引用,强调添加:

  

在Tomcat中安装SSL [它们明确表示SSL / TLS服务器证书]

     
      
  1. 运行以下命令安装根证书:
      keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file [根证书的名称]
  2.   
  3. 运行以下命令安装中间证书:
      keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file [中间证书的名称]
  4.   
  5. 运行以下命令,将颁发的[为您的服务器]证书安装到密钥库中:
      keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file [证书名称]
  6.   

在第3步,别名是&#39; tomcat&#39;这是您在过程前面用于-genkey [pair]和-certreq步骤的别名,而不是域的名称,通常也是包含服务器/ EE证书的文件的名称。

要验证正确的程序,keytool对命令1和2的响应应为

 Certificate was added to keystore 

但是对命令3的响应应该是DIFFFERENT:

 Certificate reply was installed in keystore

但是,如果您从头开始重建[t]密钥库&#39;并且包括在获得证书后生成新的密钥对,证书现在毫无价值且无法使用,此过程将无效;它会改为说

 Public keys in reply and keystore don't match 

服务器使用的证书必须与私钥匹配,因此这意味着您必须遵循该页面中指定的顺序以及数十亿其他位置:生成密钥对,然后生成CSR 密钥对,然后让CA从颁发证书 CSR,然后导入 < / em> cert进入相同的密钥库和别名,其链接证书可以在回复中使用(如某些CA所做的那样,通常使用&#39; p7b&#39;格式)或信任库中的其他地方(如GoDaddy显然那样)。

有效地将Import CA signed certificates to JKS用于其他CA.