将SSL通配证书导入Tomcat

将SSL通配证书导入Tomcat

问题描述:

我购买了通配符证书,我试图将其与Tomcat 8一起使用。将SSL通配证书导入Tomcat

我已经执行了几行命令来启用SSL。已启用SSL,但我总是收到我正在使用自签名证书的警告。当然这不应该是这样,它应该使用可信证书来代替。

我已收到证书和中间证书(来自1and1),我发现根证书是由GeoTrust Global CA(我下载它)发布的。

密钥生成: keytool -genkey -alias tomcat -keyalg RSA

添加根证书 keytool -import -alias root -keystore .keystore -trustcacerts -file root.pem

添加中级证书 keytool -import -alias intermed -keystore .keystore -trustcacerts -file intermediate.cer

增加主要证书 keytool -import -alias main -keystore .keystore -file main.cer

我修改了server.xml中的连接器,它非常简单,提供了密钥库和密码。

当我浏览到域,我收到一个警告,这是一个自签名的证书,我要添加一个例外等等...

此证书在IIS中已被使用,它的工作得很好。

使用一些在线工具ssl-checker,它证明这是一个自签名证书,并且颁发者等同于我在第一条命令开始时提供的“名字和姓氏”。

什么可能是缺失的问题?

谢谢!

+0

我没有理由有IIS标记。这不是IIS上的问题。 –

我最近遇到了Java/Keytool中带有证书链导入和使用的问题。

我的猜测是,只有第一个证书发送到客户端(我假设您使用的是IIS网站上使用的相同浏览器)。这可以用下面的OpenSSL命令的输出进行检查:

的OpenSSL的s_client.First -connect YOURSITE.COM:443 -showcerts

如果得到证实,因为客户端错过中间证书,让您的证书无法验证。 在这种情况下,你应该“强制”keytool(不知道你的java版本/ OS)来“吃”手工制作的证书链。

请参考此excellent post(这就是我对我的情况)。记住把所有的证书,包括CA Root。

+0

我在Windows 2008上,Java 1.7 –

+0

@AliBassam - 好的。安装openssl for Windows并最终发布/编辑你的问题以添加上述命令的结果,以查看Tomcat是否输出了完整的证书链给你的客户端(我想它是IE) – Diego1974

+0

@AliBassam我刚刚注意到编辑剥去了一些上述openssl命令中的信息;您需要将YOURSITE.COM替换为您的测试用户,输入“:”并指定连接端口(通常默认为443),而非http(S)部分。例如:openssl s_client -connect www.google.it:443 -showcerts – Diego1974