gradlew包装似乎是“忽略”我信任的证书

时间:2018-01-23 12:05:44

标签: java ssl gradle gradlew

尝试使用自签名证书连接到指定的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可以完成?

0 个答案:

没有答案