相关疑难解决方法(0)

Gradle对存储库使用证书身份验证

问题

我有一个Android Gradle项目,它应该从我的公司的sonatype nexus服务器中提取一个lib.nexus服务器使用证书身份验证.这意味着客户端有一个私有证书,可以对nexus服务器进行身份验证和授权.

问题是如何配置gradle来使用我的证书(在osx密钥库中).

/app/build.gradle

repositories {
   // some other repositorys...
   ...
   maven {
      credentials {
         username = NEXUS_USERNAME
         password = NEXUS_PASSWORD
      }
      url 'https://prefix.server.com/nexus/content/repositories/artifactid'
   }
}
Run Code Online (Sandbox Code Playgroud)

在没有提供证书的情况下,nexus服务器响应:

错误:无法HEAD'https://prefix.server.com/nexus/content/repositories/artifactid/de/komoot/android/kmt-material-showcase/0.0.1/kmt-material-showcase-0.0.1. pom '.从服务器收到状态码400:错误请求

我的第一个解决方案是尝试配置jvm以使用osx keychain作为证书.同样的方法帮助我在nexus服务器上推送和发布libs/artifacts.

/app/gradle.properties

org.gradle.jvmargs=-Djavax.net.ssl.keyStore=NONE -Djavax.net.ssl.keyStoreType=KeychainStore -Djavax.net.ssl.keyStorePassword=-
Run Code Online (Sandbox Code Playgroud)

这不起作用gradle sync失败:错误:NONE(没有这样的文件或目录)

它看起来像是参数'-Djavax.net.ssl.keyStore'的'无'.我尝试了几个uper和小写的解决方案,但都失败了.

第二种方法是试用它

org.gradle.jvmargs=-Djavax.net.ssl.keyStoreType=KeychainStore
Run Code Online (Sandbox Code Playgroud)

但服务器再次响应400.看起来没有使用JVM args.

有关此主题的任何想法或文章?希望可以有人帮帮我.

ssl jvm http-authentication gradle android-gradle-plugin

11
推荐指数
1
解决办法
2万
查看次数

Gradle:找不到可信证书

我正在尝试使用Gradle在Ubuntu-Server上构建我的Android-Project.

在我的Windows 10 PC上使用Android-Studio构建工作正常

但使用./gradlew build./gradlew clean失败以下输出:

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'workspace'.
> Could not resolve all dependencies for configuration ':classpath'.
   > Could not download gradle-core.jar (com.android.tools.build:gradle-core:2.2.3)
      > Could not get resource     'https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.2.3/gradle-core-2.2.3.jar'.
         > Could not GET 'https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.2.3/gradle-core-2.2.3.jar'.
            > sun.security.validator.ValidatorException: No trusted certificate found
Run Code Online (Sandbox Code Playgroud)

在我的研究期间,我只发现了两个相似的问题,这两个答案对我来说都没有用:

Paul Lammertsma - gradlew.bat(和gradlew)SSLHandShakeException

sudo dpkg --purge --force-depends ca-certificates-java
sudo apt-get install ca-certificates-java
Run Code Online (Sandbox Code Playgroud)

这一个有非常相似的错误,但没有真正的解决方案:

user119469 - 导入的项目 - Gradle …

java ssl android gradle android-gradle-plugin

6
推荐指数
1
解决办法
3220
查看次数