java—jvm能否只在一次运行中信任自签名证书?

wlsrxk51  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(464)

我试图让clojurejar信任我在运行jar时生成的自签名证书,只是我实际上不想将证书添加到我的证书存储中。有没有办法让jvm暂时信任这个openssl自签名证书,或者只信任它一次运行?
如果有一种语言内的方法可以做到这一点,如果有帮助的话,我将使用cljhttplite库,使用 get 功能。不过,对于一个通用的jvm范围的解决方案,还有一些额外的要点。

lzfw57am

lzfw57am1#

您可以创建(临时)信任存储并在命令行上使用 javax.net.ssl.trustStore 以及 javax.net.ssl.trustStorePassword 系统属性:https://docs.oracle.com/javadb/10.8.3.0/adminguide/cadminsslclient.html

qkf9rpyu

qkf9rpyu2#

我不建议使用命令行参数重写全局信任存储 javax.net.ssl.trustStore 对于jvm。相反,如果您需要使用自签名证书连接到远程服务器,我建议您在代码中构建ssl上下文并使用它进行连接。如果您不想降低全局jvm安全性,并且有多个端点,每个端点都需要自签名证书进行连接,那么这种方法会更好。
下面是构建ssl上下文的示例,可以在http/get函数中使用。你可以传给我 request 函数(请参阅代码以了解不安全的?选择并以相同的方式进行)。

相关问题