【发布时间】:2018-10-22 09:18:13
【问题描述】:
我是 SSL 连接的新手,我已经部署在 Tomcat 服务器的 J2EE 应用程序上。 从我的应用程序中,我通过 https 将 RestCall 发送到其他应用程序。还使用 https 连接将文件传输到其他域。
我的问题是,我获得了其他域的 SSl CA 证书,我不知道是否必须将这些 CA 证书导入到 JDK 级别的 cacerts 或 Tomcat 级别。
我不知道我们能不能做到这一点,我很困惑。
【问题讨论】:
我是 SSL 连接的新手,我已经部署在 Tomcat 服务器的 J2EE 应用程序上。 从我的应用程序中,我通过 https 将 RestCall 发送到其他应用程序。还使用 https 连接将文件传输到其他域。
我的问题是,我获得了其他域的 SSl CA 证书,我不知道是否必须将这些 CA 证书导入到 JDK 级别的 cacerts 或 Tomcat 级别。
我不知道我们能不能做到这一点,我很困惑。
【问题讨论】:
这两种方式都可以。但是 Tomcat 文档解释了如何创建自定义密钥库、填充它以及配置 Tomcat 连接器以使用它;详情请参阅Tomcat SSL/TLS Configuration HOW-TO。
将服务器证书排除在 JDK / JRE 安装之外更有意义。首先,这意味着您无需在每次更新 Java 安装时都重新导入证书。
将服务器需要的任何其他证书导入您刚刚创建的服务器密钥库中也很有意义。根据您实现 webapp 的 HTTPS (etc) 客户端功能的方式,您可以直接使用自定义密钥库,也可以通过在 Tomcat 启动选项中添加 -Djavax.net.ssl.trustStore=<path> 使该密钥库成为 Tomcat JVM 的默认密钥库。
【讨论】: