Cukuyo
V2EX  ›  Java

在 JDK13 下使用 HttpClient 出现了 TLS 版本对不上的问题

  •  
  •   Cukuyo ·
    Cukuyo · Nov 14, 2019 · 4989 views
    This topic created in 2381 days ago, the information mentioned may be changed or developed.

    如题,最近在写一个下图的程序,使用的是 JDK13 环境及自带的 HttpClient 类。但是在访问一个比较老的网站时出现了“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”,查看文档及谷歌后也没有解决思路。求大佬

    9 replies    2019-11-14 16:40:09 +08:00
    woodensail
        1
    woodensail  
       Nov 14, 2019
    服务器的 tls 版本太老了,你看看怎么配置本地允许使用 tls1.0 吧。
    不过现在一般都是 tls1.2 起步的,tls1.0 很多客户端都不认的。
    Cukuyo
        2
    Cukuyo  
    OP
       Nov 14, 2019
    @woodensail 看了下是 Microsoft-IIS/7.5。现在就是困在了如何配置上,没遇见过这种错误,网上也找不到资料,蛋疼。。
    woodensail
        3
    woodensail  
       Nov 14, 2019
    嗯,对面服务器太老了,你是一定想从对面下图片吗? 那就上百度搜「 HttpClient tls1.0 」。
    或者干脆试试看能不能走 http,那么老的服务器,有可能没有配强制 https
    lxk11153
        5
    lxk11153  
       Nov 14, 2019
    "自带的 HttpClient 类" 全类名是啥(具体是哪个 HttpClient)
    Cukuyo
        6
    Cukuyo  
    OP
       Nov 14, 2019
    java.net.http.HttpClient
    @lxk11153
    lxk11153
        7
    lxk11153  
       Nov 14, 2019
    @Cukuyo #6 以下我瞎猜的:
    1. 试试 java.net.http.HttpClient.Builder.html#sslContext(SSLContext.getInstance("TLS"))
    docs.oracle.com/en/java/javase/13/docs/specs/security/standard-names.html#sslcontext-algorithms
    2. 但好像 jdk13 的 SSLContext api docs 只写了 TLSv1.2,是不是把低版本移除 /禁用了,要通过其它方式开启?
    “Every implementation of the Java platform is required to support the following standard SSLContext protocol: TLSv1.2”
    Cukuyo
        8
    Cukuyo  
    OP
       Nov 14, 2019
    @lxk11153 已经解决了,参考的我在 4 楼发的那个。
    SSLParameters sslParameters = new SSLParameters();
    sslParameters.setProtocols(new String[]{"TLSv1", "TLSv1.1", "TLSv1.2", "TLSv1.3"});

    httpClient = HttpClient.newBuilder()
    .sslParameters(sslParameters)
    .................
    Cukuyo
        9
    Cukuyo  
    OP
       Nov 14, 2019
    @lxk11153 SSLContext.getInstance("TLS")不行,报“SSLContext 无法初始化错误”
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2578 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 00:20 · PVG 08:20 · LAX 17:20 · JFK 20:20
    ♥ Do have faith in what you're doing.