Java PKIX/validator.validator的SSL问题代理异常
我们所处的场景是,公司代理解密所有HTTPS流量,并使用Java不信任的CA根对其重新签名 我们还处于无法修改Java目录中的cacerts文件的场景中 我们在许多Java应用程序中遇到以下问题:Java PKIX/validator.validator的SSL问题代理异常,java,https,jvm,http-proxy,Java,Https,Jvm,Http Proxy,我们所处的场景是,公司代理解密所有HTTPS流量,并使用Java不信任的CA根对其重新签名 我们还处于无法修改Java目录中的cacerts文件的场景中 我们在许多Java应用程序中遇到以下问题: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find vali
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to find
valid certification path to requested target
我们不想添加单独的证书
但是,我们可以做的是更改JVM参数:
-Dtrust\u all\u cert=true
无效-Dhttps.proxyHost=localhost-Dhttps.proxyPort=8888
无效-Dhttp.proxyHost=localhost-Dhttp.proxyPort=8888
并执行HTTP请求,我们可以在Fiddler中看到流量。所以
注意:我们甚至尝试制作一个java程序,使用localhost:8888作为代理。同样,它适用于HTTP,但不适用于HTTPS。一种方法是创建一个新的cacerts文件,并在JVM中使用该文件:
keytool-import-noprompt-trustcacerts-alias root-file root.cer-keystore。\cacertsnew-storepass***
java-Dhttps.proxyHost=someproxy-Dhttps.proxyPort=8080-Djavax.net.ssl.trustStore=cacertsnew…
一种方法是创建一个新的cacerts文件并在JVM中使用它:
keytool-import-noprompt-trustcacerts-alias root-file root.cer-keystore。\cacertsnew-storepass***
java-Dhttps.proxyHost=someproxy-Dhttps.proxyPort=8080-Djavax.net.ssl.trustStore=cacertsnew…
不幸的是,这对gradlew没有帮助。不幸的是,这对gradlew没有帮助。