【问题标题】:SSL Wildcard Certificate into TomcatSSL通配符证书到Tomcat
【发布时间】:2017-01-30 21:15:05
【问题描述】:

我购买了通配符证书并尝试将其与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中的连接器,很简单的部分,提供keystore和密码。

当我浏览到域时,我收到一条警告说这是一个自签名证书,我必须添加一个例外等等...

此证书已在 IIS 中使用,并且运行良好。

使用一些在线工具ssl-checker,证明这是一个自签名证书,并且颁发者等于我在第一个命令开头提供的“First Name and Family Name”。

可能缺少什么问题?

谢谢!

【问题讨论】:

  • 我认为没有理由拥有 IIS 标记。这不是 IIS 上的问题。

标签: tomcat ssl https keystore


【解决方案1】:

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

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

openssl s_client -connect YOURSITE.COM:443 -showcerts

如果确认,因为客户端错过了中间证书,使您的证书无法验证。 在这种情况下,您可能应该“强制”keytool(不知道您的 java 版本/操作系统)“吃掉”手工制作的证书链。

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

【讨论】:

  • 我使用的是 Windows 2008,Java 1.7
  • @AliBassam - 好的。为 Windows 安装 openssl 并最终发布/编辑您的问题以添加上述命令的结果,以查看 Tomcat 是否向您的客户端输出完整的证书链(我想是 IE)
  • @AliBassam 我刚刚注意到编辑器在上面的 openssl 命令中剥离了一些信息;您需要将 YOURSITE.COM 替换为正在测试的您的,放一个“:”并指定连接端口(通常默认为 443),非 http(S) 部分。示例:openssl s_client -connect www.google.it:443 -showcerts
  • 我已经检查了你提到的帖子,它解决了我的问题:)非常感谢你!
  • 就是这样。很高兴它有帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 2013-05-24
  • 2016-06-29
  • 2012-12-25
  • 2012-03-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多