SSL 通配符证书到 Tomcat

SSL Wildcard Certificate into Tomcat

我购买了一个通配符证书,我正尝试将其与 Tomcat 8 一起使用。

为了启用 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,证明这是一个自签名证书,颁发者等于我在第一个命令开头提供的"First Name and Family Name"。

可能遗漏了什么问题?

谢谢!

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

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

openssl s_client -connect YOURSITE.COM:443 -showcerts

如果确认,因为客户端错过了中间证书并使您的证书无法验证。 在那种情况下,您可能应该 "force" keytool(不认识您 java version/OS)到 "eat" 手工制作的证书链。

参考这个excellent post(这就是我在我的案例中所做的)。记得放上所有证书,包括 CA Root。