以前尝试过但是不太好,所以继续尝试两个
我正在尝试在RHEL下的tomcat 7服务器上运行SSL。 Sever在HTTP下工作正常但是当我尝试使用HTTPS访问它时,我收到此错误。
进一步研究,chrome告诉我这个
做了一些研究。将证书添加到/ 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获得的证书。使用指南安装here
godaddy ssl checker说我错过了中级证书
Tomcat版本7
RHEL 7.4
java 1.8
任何帮助表示赞赏
很难确定,但您似乎没有正确遵循您引用的说明。您的密钥库显示一个trustedCertEntry,其别名看起来像您的域名的编辑;这表明您已将服务器证书导入该条目,而不是名为“tomcat”的privateKeyEntry。
从您链接的页面引用,重点补充:
在Tomcat中安装SSL [它们明确表示SSL / TLS服务器证书]
- 通过运行以下命令安装根证书: keytool -import -alias root -keystore tomcat.keystore -trustcacerts -file [根证书的名称]
- 通过运行以下命令安装中间证书: keytool -import -alias intermed -keystore tomcat.keystore -trustcacerts -file [中间证书的名称]
- 通过运行以下命令,将[为您的服务器]颁发的证书安装到密钥库中: keytool -import -alias tomcat -keystore tomcat.keystore -trustcacerts -file [证书名称]
在步骤3中,别名是“tomcat”,它与您在过程前面用于-genkey [pair]和-certreq步骤的别名相同,而不是您的域名,它通常也是包含您的服务器的文件的名称/ EE证书。
要验证正确的过程,keytool对命令1和2的响应应该是
Certificate was added to keystore
但对命令3的响应应该是不同的:
Certificate reply was installed in keystore
但是,如果您“从头开始重建[t]密钥库”并且包括在获得证书后生成新的密钥对,则证书现在毫无价值且无法使用,此过程将无效;它会改为说出类似的东西
Public keys in reply and keystore don't match
服务器使用的证书必须与私钥匹配,因此这意味着您必须遵循该页面中指定的顺序以及数十亿其他位置:生成密钥对,然后为该密钥对生成CSR,然后让CA发出来自该CSR的证书,然后将该证书导入到相同的密钥库和别名中,其链证书可以在回复中(如某些CA那样,通常使用'p7b'格式)或在信任库中的其他地方(如GoDaddy显然那样)。
有效地将Import CA signed certificates to JKS用于不同的CA.