Ubuntu 下的 OpenJDK 11 是否支持 TLSv1.3?

在 Ubuntu 18.04 上

sudo apt install openjdk-11-source

导致ProtocolVersion.java不知道 TLSv1.3 。有没有办法纠正这个问题(没有限制性许可)?


慕工程0101907
浏览 329回答 2
2回答

一只名叫tom的猫

更新自2019 年 4 月 23 日起,Ubuntu(18.04 LTS 和更新版本)附带 JRE/JDK 版本11.0.3。出于这个原因,alamar的原始答案已经过时。出于好奇,我编写了一个小的 TLS v1.3 检查工具,它以编程方式检查目标运行时环境的 TLS v1.3 支持。这样,人们可以快速发现发生了什么:public class TLS13Checker {    public static void main(String[] args) {        SSLContext context = null;        try {            KeyStore keyStore = KeyStore.getInstance("pkcs12");            TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance("PKIX");            trustManagerFactory.init(keyStore);            TrustManager[] trustAllCerts = trustManagerFactory.getTrustManagers();            context = SSLContext.getInstance("TLSv1.3");            context.init(null, trustAllCerts, new SecureRandom());            SSLParameters params = context.getSupportedSSLParameters();            String[] protocols = params.getProtocols();            System.out.println("Java version : " + System.getProperty("java.runtime.version"));            boolean supportsTLSv13 = false;            for (String protocol : protocols) {                if ("TLSv1.3".equals(protocol)) {                    supportsTLSv13 = true;                    break;                }            }            if(supportsTLSv13) {                System.out.println("JRE supports TLS v1.3!");            } else {                System.out.println("JRE does NOT support TLS v1.3!");            }            String[] suites = params.getCipherSuites();            System.out.println("A total of " + suites.length + " TLS cipher suites is supported.");        } catch (NoSuchAlgorithmException | KeyManagementException | KeyStoreException e) {            e.printStackTrace();            System.exit(42);        }    }}您可以简单地编译并运行它,输出将类似于我在最近的OpenJDK环境(在 MacOS 下)得到的结果:Java version : 11.0.3+7JRE supports TLS v1.3!A total of 45 TLS cipher suites is supported.此外,此列表概述了所有常规JSSE 密码套件名称。它可能有助于参考或其他(实施)目的。希望能帮助到你。

qq_遁去的一_1

似乎出于某种原因,Ubuntu 实际上在 openjdk-11-* 软件包下提供了 Java 10。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java