Glassfish 上未正确安装 SSL 证书

Glassfish 上未正确安装 SSL 证书

我是一名 Java 开发人员,而不是 Web 服务器/IT 基础设施人员,所以我不知道我是否正确地提出了这个问题,所以如果我错了,我深表歉意。

之前我们在 Glassfish 服务器上部署了一个 spring web 应用程序,后来我们决定对其应用 SSL 证书,我们的 IT 基础团队在 Glassfish 服务器上安装了证书。此后,每当我们尝试在浏览器(例如 Mozila)上访问网站时,都会显示此屏幕:

在此处输入图片描述

当我点击“我了解风险”时,它才开始工作。但我认为这不对。其他拥有 SSL 的网站从未这样询问我。我们遗漏了什么吗?

我想提一下的另一件事是我有一个 Java 桌面应用程序,我在其中传递 URL(https://com.app.com/applicationName/execute/doActionDefaultHttpClient然后它给了我错误peer not authenticated(我发布了同样的问题堆栈溢出) 因此为了解决这个问题,我将 .cer 文件导入了桌面应用程序正在运行的 java 密钥库,然后解决了这个错误。这是在每个需要 hti URL 的服务器/java 上安装 .cer 文件的正确方法吗?

假设如果其他生产服务器需要访问此 URL 来传递数据,那么我们是否需要将 .cer 文件导入该服务器的 jre?我尝试传递其他使用 SSL 的 URL,它们不需要在我的 jre 中导入 .cer。

答案1

这里的问题有两个方面:

  • 您需要确保您使用的证书可以从服务器证书(您公开的证书)到根 CA 进行验证。在 Java 应用服务器中,这通常意味着您使用密钥库来存储私钥和匹配的服务器证书,并使用信任库来存储 CA(证书颁发机构)。如果证书是购买的,则这些 CA 可以是第三方 CA,也可以是私有 CA。

  • 在客户端,浏览器将尝试从暴露的服务器证书到签名 CA 遍历整个信任链,并尝试在其自己的信任库中找到该 CA。如果如果 CA 尚未位于浏览器信任库中(通常情况是自签名证书或私有 CA),您将收到警告(连接不受信任)。

要更深入地了解其工作原理,请参阅维基百科文章公钥基础设施

相关内容