Java JVM能否仅在一次运行中信任自签名证书?

Java JVM能否仅在一次运行中信任自签名证书?,java,ssl,clojure,jvm,self-signed,Java,Ssl,Clojure,Jvm,Self Signed,我试图让clojure jar信任我在运行jar时生成的自签名证书,只是我实际上不想将该证书添加到我的证书存储中。有没有办法让JVM暂时信任这个openssl自签名证书,或者只信任它一次运行 如果有一种语言内的方法可以做到这一点,如果它有帮助,我将使用库,使用get函数。不过,对于通用JVM范围的解决方案,还有一些额外的要点。您可以创建一个临时信任存储,并在命令行上使用javax.net.ssl.trustStore和javax.net.ssl.trustStorePassword系统属性对其进

我试图让clojure jar信任我在运行jar时生成的自签名证书,只是我实际上不想将该证书添加到我的证书存储中。有没有办法让JVM暂时信任这个openssl自签名证书,或者只信任它一次运行


如果有一种语言内的方法可以做到这一点,如果它有帮助,我将使用库,使用get函数。不过,对于通用JVM范围的解决方案,还有一些额外的要点。

您可以创建一个临时信任存储,并在命令行上使用javax.net.ssl.trustStore和javax.net.ssl.trustStorePassword系统属性对其进行配置:

我不建议使用命令行参数javax.net.ssl.trustStore覆盖JVM的全局信任存储。相反,若您需要使用自签名证书连接到远程服务器,我建议在代码中构建SSL上下文并将其用于连接。当您不想降低全局JVM安全性,并且如果您有多个端点,每个端点都需要自签名证书进行连接时,这种方法会更好


下面是一个可以在http/get函数中使用的示例。您可以将其传递给请求函数,请参见不安全代码?选项并以相同的方式进行操作。

我的投票被锁定,我投票否决了此选项,但事实证明,出于单元测试目的,我也需要一种语言内的方式来完成此操作。谢谢