Java 6-> mongodb maven依赖项错误:对等方未通过身份验证

时间:2018-08-16 18:37:08

标签: java mongodb maven ssl gradle

好吧,我有一个java 6项目,在mac high sierra中,该项目具有mongo依赖项。

repositories {
    mavenCentral()
}

dependencies {
    compile 'org.mongodb:mongo-java-driver:2.14.3'
} 

使用gradle进行构建时,出现ssl错误:

失败:构建失败,并出现异常。

org.gradle.api.artifacts.ResolveException:无法解析配置':runtime'的所有依赖项。     ...

由以下原因引起:org.gradle.internal.resource.transport.http.HttpRequestException:无法获取'https://repo1.maven.org/maven2/org/mongodb/mongo-java-driver/2.14.3/mongo-java-driver-2.14.3.pom'。     ...

原因:javax.net.ssl.SSLPeerUnverifiedException:对等方未通过身份验证     在com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)

我尝试将安全证书导入到cacert中,但这没有完成。

#from /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home//lib/security/
openssl s_client -showcerts -connect repo1.maven.org:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >mavencert.pem
# from ~
$JAVA_HOME/bin/keytool -import -alias mavencert -keystore cacerts -file $JAVA_HOME/lib/security/mavencert.pem
# enter password: changeit

升级到Java的永不版本是不可能的。 请帮忙。

1 个答案:

答案 0 :(得分:1)

使用Java 6与https://repo1.maven.org的连接失败,因为您安装的Java版本不支持TLS1.2和repo1.maven.org仅支持supports TLS 1.2连接。

如果您真的想继续使用Java 6,则需要安装Java SE Development Kit 6,Update 111或更高版本。

恕我直言,您应该删除Java 6(过时且不安全)并安装当前的Oracle Java版本。我认为您的版本是Apple提供的版本-AFAIK Apple已停止支持其Java版本。因此,您不应再使用它。