我需要向 JRE 随附的 cacerts 添加受信任的证书,但我对客户的 JRE 安装没有控制权或所有权。除了假定 cacerts 文件的文件路径位置并将其读入自定义 TrustManager 之外,是否有其他方法可以通过安全 API 执行此操作?
最佳答案
我不建议为 JVM 全局设置信任存储,除非您运行的是独立的 Java 应用程序。通常,您可以使用支持所需证书的所需信任 Material 来配置 SSLContext。 但是,请注意 Java 中的 SSL 是比较烦人的部分之一,因为最小的配置错误都会给您带来一些非常奇怪的错误消息。
以前我已经成功地使用 not-yet-commons-ssl 实现了双向 SSL 身份验证(公共(public)或私有(private)签名的证书),虽然这个库有点旧,但它比原始 Java 更容易使用,特别是如果您必须支持多个 JVM 版本。
关于Java SSL - 以编程方式将自签名证书添加到 cacerts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41121993/