ssl - 使用现有的 Entrust 证书进行 Jetty SSL 连接时遇到问题

标签 ssl https jetty

我有来自 Entrust 的三个文件:*.csr、*.key 和 *.crt。

到目前为止:

  1. 我已使用 OpenSSL 将 *.key 和 *.crt 放入 PKCS12 keystore
  2. 我已经使用 keytool 将 *.pkcs12 导入到 keystore 中
  3. 使用这种技术,我能够使用与 Jetty 的 SSL 连接

但是,我在 IE 中遇到证书错误(Chrome 中的不安全项目)。

在我们的案例中,证书当前用于域:80 (Apache),我正尝试将它们“重新用于”域:8443 (Jetty)。

我是否认为我也可以将这些用于 Jetty?在同一个 IP/域上,但在不同的端口和网络服务器上?我的直觉告诉我,其中一个文件与 Entrust 识别 Apache (*.csr) 有关,我应该为 Jetty 做同样的事情吗?

编辑 #1

错误如下:

Certificate Error

Untrusted Certificate

The security certificate presented by this webiste was not issued by a trusted certificate authority

This problem may indicate an attempt to fool you or intercept any data you send to the server.

We recommend that you close this webpage.

但是 Chrome 认为它是有效的。我确实必须在 IE 上工作,因为它是我们的标准。

编辑 #2

  1. Chrome 不会提示
  2. 火狐也不行

编辑 #3

我发现我们的 CA 证书在 Apache conf 文件中指定。然后我继续将我们的证书与 CA 证书连接到一个 PKCS12 文件中。然后,我使用 keytool 生成了 keystore 。

我将它加载到服务器上,重新启动并在 IE 中查看。 IE 仍然显示证书问题。

在串联文件中,我看到的顺序是:我们的证书,然后是其他 2 个证书。

顺便说一句,我调用 Entrust,CSR 没有发现任何问题,因为他使用的是 IE 8。我们使用的是 IE7。

编辑#4

使用这个命令:

keytool -list -keystore keystore -v

它显示了 3 个证书(按此顺序):

  1. 我们的
  2. 所有者:CN=Entrust Certification Authority - L1C,
  3. 所有者:CN=Entrust.net 证书颁发机构 (2048)

编辑5

解决了!我想我有一个缓存问题。与同事确认。

回答,将我所有的证书(包括 CA 证书)连接到 keystore 中解决了我的问题。

最佳答案

如评论中所述,端口号与信任 SSL/TLS 连接无关。

问题是从您的证书到 Entrust 根的整个证书链可能看起来像这样

your cert - intermediate CA 1 - intermediate CA 2 - ... - root CA

要使其适用于 IE,您不仅必须将证书导入 PKCS#12 容器,还必须导入中间证书和根证书。否则,您的 SSL 实现将无法在 SSL 握手期间提供完整路径,因此 IE 无法构建适当的链来与其受信任的根证书集进行比较。

所以我的建议是从适当的网站获取中间证书,然后使用 keytool 将它们导入您的 PKCS#12 keystore 。

一旦完成,IE 应该从此毫无怨言地接受。

关于ssl - 使用现有的 Entrust 证书进行 Jetty SSL 连接时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7165168/

相关文章:

html - 在没有iframe的情况下在Wordpress中包含jsp页面

java - 用于测试目的的 SSL 连接

amazon-web-services - 使用 HTTPS 将多个域重定向到单个域的最简单方法

java - 以编程方式向 Jetty 添加资源

java - 使用 jetty 客户端发布会在 reSTLet 中给出空表示

php - 禁用对 OAuth 调用的 SSL 检查 (PHP)

java - 从标准的 apache ssl 证书生成一个 java keystore (用于 jetty )

asp.net-mvc - 如何仅为登录和特定页面 MVC 激活 SSL

javax.ws.rs.ProcessingException : javax.net.ssl.SSLHandshakeException:收到致命警报:bad_certificate

java - 是什么原因导致 jetty 空闲超时