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