代码之家  ›  专栏  ›  技术社区  ›  v.ladynev

为什么我得到javax.net.ssl.SSLException:Received fatal alert:protocol_version for ant?

  •  1
  • v.ladynev  · 技术社区  · 6 年前

    我在2018年6月之后收到这个错误:

    javax.net.ssl.SSLException: Received fatal alert: protocol_version
            at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
            at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
            at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1979)
            at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1086)
            at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1332)
            at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1359)
            at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1343)
            at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
            at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
            at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
            at org.apache.tools.ant.taskdefs.Get$GetThread.openConnection(Get.java:731)
            at org.apache.tools.ant.taskdefs.Get$GetThread.get(Get.java:652)
            at org.apache.tools.ant.taskdefs.Get$GetThread.run(Get.java:642)
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   v.ladynev    6 年前

    原因是 ant 使用 ivy 例如插件。 2018年6月,与Maven Central的SSL连接将不再支持TLS 1.0&1.1协议。

    Why am I getting "Received fatal alert: protocol_version" or "peer not authenticated" from Maven Central?

    通过将TLS版本指定为 java系统属性 .

    所有示例都运行默认的ant任务。

    对于Windows

    java -Dhttps.protocols=TLSv1.2 -cp %ANT_HOME%/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher
    

    对于Linux

    java -Dhttps.protocols=TLSv1.2 -cp ${ANT_HOME}/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher
    

    必须有 ANT_HOME c:/ant/ 是通往 蚂蚁

    java -Dhttps.protocols=TLSv1.2 -cp c:/ant/lib/ant-launcher.jar org.apache.tools.ant.launch.Launcher
    

    更新Java 7版本

    7u80

        2
  •  0
  •   Scott Birner    6 年前

    如果使用maven项目,请尝试将其添加到pom.xml中。原因可能是您使用了较旧版本的javax.mail。那对我有用。

    <dependencies>
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>javax.mail</artifactId>
            <version>1.6.2</version>
        </dependency>
    </dependencies>
    

    在官方文件中找到此信息: https://javaee.github.io/javamail/