You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes容器化JVM应用运行时修改cacerts的方案探讨

容器化JVM应用注入自定义CA的方案探讨

我有多个运行在Kubernetes上的容器化JVM应用,这些应用需要信任额外的自定义/私有CA(这些CA事前未知,应用将部署在多个独立且拥有各自PKI的数据中心)。基础镜像中的cacerts文件在运行时不可写。

目前我考虑了以下几种方案:

  • 方案1:不提供修改cacerts的选项,强制各数据中心通过容器卷管理并注入自己的cacerts文件。但各数据中心不会仅运行JVM应用,他们不愿自行管理JVM特有的cacerts——这意味着他们可能需要为每种技术都做同样的操作,因此我不太喜欢这个方案。
  • 方案2:让cacerts文件在运行时可写,并在入口点修改cacerts。这个方案看起来相当务实,但我怀疑让cacerts在运行时可写是一种不良实践,因为攻击者可能会修改其无权更改的配置。
  • 方案3:不使用JDK TLS,在「客户端」层面设置信任库(例如CXF)。但该方案存在局限性和复杂性,需要为每个客户端进行配置(例如在CXF中,获取初始WSDL文件似乎不受CXF控制,而是由JVM处理……),这意味着如果客户端无法(正确)配置,该方案就无法生效。

经过权衡,我又回到了第二种方案,现在有两个问题:

  1. 让cacerts在运行时可写是否属于不良实践?
  2. 是否存在我遗漏的方案,能够在不使cacerts可写的情况下注入(任意)额外CA?

内容的提问来源于stack exchange,提问作者ciis0

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 07:01:27