【问题标题】:How to bypass SSL verification for Gradle 4.5?如何绕过 Gradle 4.5 的 SSL 验证?
【发布时间】:2019-09-29 13:01:26
【问题描述】:

我在尝试连接到 Nexus Maven 代理存储库时遇到此错误,但 Nexus 使用自签名证书通过 HTTPS 运行。

如何在 Gradle 4.5 中绕过 SSL 验证?

sun.security.validator.validatorexception pkix path building failed 
sun.security.provider.certpath.suncertpathbuilderexception: 
  unable to find valid certification path to requested target

【问题讨论】:

  • @MartinZeitler 这不是这个问题的好副本。这个问题询问如何配置 Gradle 以不发出错误。您建议的重复问题是关于使用“普通”Java 应用程序解决该问题。
  • @MarkRotteveel 这可能是 Java 问题,不完全是 Gradle 问题......并且可以通过 gradle.properties 中的任何规定设置。

标签: java ssl gradle


【解决方案1】:

就我而言,我们无权访问 cacerts 中的导入证书。但是,我们能够在 Windows Trusted Root Certification Authority 中安装证书。在gradle.properties 中,添加以下 2 个属性后,我能够覆盖 cacerts 并克服 SSL 问题

systemProp.javax.net.ssl.trustStore=C:\\Windows\\win.ini
systemProp.javax.net.ssl.trustStoreType=Windows-ROOT

【讨论】:

    【解决方案2】:

    它适用于以下 gradle.properties

    systemProp.javax.net.ssl.trustStore=$JAVA_HOME//jre//lib//security//cacerts
    systemProp.javax.net.ssl.trustStorePassword=changeit
    

    【讨论】:

    • 如果 Nexus 使用自签名证书并且您尚未将该证书添加到 $JAVA_HOME/jre/lib/security/cacerts(Java 的信任库),这将无法解决您的问题。
    • 也可以尝试提高你的英语语法和写作风格,或者使用grammarly.com之类的东西来帮助你。
    • 无法想象没有keytoolimportcert 也能正常工作。见discuss.gradle.org
    • 当我这样做时,我会从我的一个 gralde 插件(由于 SSL 导致失败的插件)中获得 RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
    猜你喜欢
    • 2021-02-08
    • 1970-01-01
    • 2010-11-09
    • 2017-08-29
    • 2014-07-07
    • 2020-05-20
    • 1970-01-01
    • 2016-06-03
    • 2022-11-10
    相关资源
    最近更新 更多