我有许多不同的服务器,它们运行着由多个内部团队开发的不同软件包。当他们尝试通过 Web 调用连接他们的应用程序时,我们发现 Java 似乎不信任我们正在使用的商业 CA(Comodo)。解决方案似乎是将根证书和中间证书导入到每个 Java 实例的密钥库中,但我似乎找不到一个自动化的好方法。似乎每个实例都需要手动操作。
有人能告诉我进行批发的方法吗?
答案1
您需要的是中间证书,而不是根证书。它由 Java 可以识别的证书签名(可能由您的操作系统供应商分发),因此如果缺少所需的中间证书,您的 Java 应用程序只需下载所需的中间证书即可。通过 http 下载是可以的,因为您将验证内容是否已由已知的根证书签名。
如果您确实想从应用程序外部分发证书,则需要一个配置管理工具。例如,Puppet、Chef、Ansible 和 Salt 都是流行的选择。
如果这是您唯一要管理的事情,那么 Ansible 可能是最简单的设置,但我建议您花点时间考虑是否应该在您的环境中充分利用配置管理。