尝试使用自签名证书连接到指定的SSL服务器时,我知道我需要告诉Java这是一个可信任的主机。
我已将证书导入密钥库并运行以下命令:
@Override
protected Map<String, Integer> getParams() {
Map<String, Integer> params = new HashMap<String, Integer>();
params.put("id", 12);
return params;
}
打印
$JAVA_HOME/bin/java -Djavax.net.ssl.trustStore=my.jks SSLPoke my-host 443
SSLPoke的位置为:https://gist.github.com/4ndrej/4547029
所以可以建立连接!
然而,当使用相同的JKS文件在同一个主机上时,唯一不同的是我正在使用Successfully connected
来执行我的任务,我得到了一个例外。
./gradlew
我尝试过执行gradlew任务:
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:145)
at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:131)
at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:382)
... 58 more
所有这些都会产生相同的异常。使用此属性的“./gradlew -Djavax.net.ssl.trustStore=my.jks myTask
GRADLE_OPTS=-Djavax.net.ssl.trustStore=my.jks ./gradlew myTask
export GRADLE_OPTS=-Djavax.net.ssl.trustStore=my.jks
./gradlew myTask
”方式是什么,correct
可以完成?