Java SSL - 以编程方式将自签名证书添加到 cacerts
Java SSL - adding self-signed cert to cacerts programmatically
我需要向 JRE 附带的 cacerts 添加受信任的证书,但我对客户的 JRE 安装没有控制权或所有权。除了假定 cacerts 文件的文件路径位置并将其读入自定义 TrustManager 之外,还有其他方法可以通过安全 API 执行此操作吗?
您可以使用自己的信任库并在 SSL 的 JVM -D 参数中定义它。
我总是在完全相同的公司环境中这样做。
我不建议为 JVM 全局设置信任库,除非您是 运行 独立的 java 应用程序。通常,您可以使用支持所需证书的所需信任 material 配置 SSLContext。
但是,请注意 Java 中的 SSL 是最烦人的部分之一,因为最小的配置错误都会给您带来一些非常奇怪的错误消息。
之前我已经成功地使用 not-yet-commons-ssl 实现了双向 SSL 身份验证(public 或私人签名的证书),虽然这个库有点旧,但它更容易使用比原始 Java,特别是如果你必须支持多个 JVM 版本。
我需要向 JRE 附带的 cacerts 添加受信任的证书,但我对客户的 JRE 安装没有控制权或所有权。除了假定 cacerts 文件的文件路径位置并将其读入自定义 TrustManager 之外,还有其他方法可以通过安全 API 执行此操作吗?
您可以使用自己的信任库并在 SSL 的 JVM -D 参数中定义它。 我总是在完全相同的公司环境中这样做。
我不建议为 JVM 全局设置信任库,除非您是 运行 独立的 java 应用程序。通常,您可以使用支持所需证书的所需信任 material 配置 SSLContext。 但是,请注意 Java 中的 SSL 是最烦人的部分之一,因为最小的配置错误都会给您带来一些非常奇怪的错误消息。
之前我已经成功地使用 not-yet-commons-ssl 实现了双向 SSL 身份验证(public 或私人签名的证书),虽然这个库有点旧,但它更容易使用比原始 Java,特别是如果你必须支持多个 JVM 版本。