Gradle Android 与maven仓库通信认证错误

Gradle Android communicate with maven repository Authentication error

我的 gradle 构建中有这些但是当我尝试编译 compile'com.livegenic:livegenic-core:2.0.0' 它给了我 Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

也许我正在使用我的 gradle srcipt 以错误的方式进行身份验证?

repositories {
        maven {
            credentials {
                username 'admin'
                password '*********'
            }
            url 'https://cloudbuild.livegenic.com/nexus/content/repositories/test_kirill/'
        }
    }

已编辑: 这是错误的踪迹

Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not GET 'https://cloudbuild.livegenic.com/nexus/content/repositories/test_kirill/com/livegenic/livegenic-core/2.0.0/livegenic-core-2.
0.0.pom'.
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:83)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performRawGet(HttpClientHelper.java:69)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performGet(HttpClientHelper.java:73)
        at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:51)
        at org.gradle.internal.resource.transport.http.HttpResourceAccessor.openResource(HttpResourceAccessor.java:34)
        at org.gradle.internal.resource.transfer.DefaultExternalResourceConnector.openResource(DefaultExternalResourceConnector.java:41)
        at org.gradle.internal.resource.transfer.ProgressLoggingExternalResourceAccessor.openResource(ProgressLoggingExternalResourceAccessor.java:36)
        at org.gradle.internal.resource.transport.DefaultExternalResourceRepository.getResource(DefaultExternalResourceRepository.java:63)
        at org.gradle.internal.resource.transfer.DefaultCacheAwareExternalResourceAccessor.getResource(DefaultCacheAwareExternalResourceAccessor.java:75)
        at org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver.downloadStaticResource(DefaultExternalResourceArtifactResolver.java:90)
        ... 133 more        
Caused by: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
        at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
        at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:572)
        at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:180)
        at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:294)
        at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:640)
        at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:479)
        at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:906)
        at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:137)
        at org.apache.http.impl.client.DecompressingHttpClient.execute(DecompressingHttpClient.java:118)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performHttpRequest(HttpClientHelper.java:113)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.executeGetOrHead(HttpClientHelper.java:90)
        at org.gradle.internal.resource.transport.http.HttpClientHelper.performRequest(HttpClientHelper.java:81)
        ... 142 more  

而不是使用 https 尝试使用 http

repositories {
    maven {
        credentials {
            username 'admin'
            password '*********'
        }
        url 'http://cloudbuild.livegenic.com/nexus/content/repositories/test_kirill/'
    }
}

正如所指出的,是的,这破坏了 https 的保护,100% 同意。唯一真正的解决方案是让服务器修复它的证书。然而,某些企业防火墙可能正在放弃所有流量,是的,它确实发生了。如果您有权访问该证书用于重新签署所有内容,那么您可以像这样将证书导入您的工具链

$ cd $JAVA_HOME/jre/lib/security
$ mv cacerts cacerts.orig
$ chmod 444 cacerts.orig
$ cp cacerts.orig cacerts
$ chmod 664 cacerts
$ $JAVA_HOME/bin/keytool -keystore cacerts -import -alias MyAlias -file /path/to/myCert.cer

请确保您 运行 以能够修改系统上 Java 密钥库的用户身份导入密钥工具。对我来说 Mac 是 root。