亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

慕工程0101907 2022-06-08 17:37:04
在 Ubuntu 18.04 上sudo apt install openjdk-11-source導致ProtocolVersion.java不知道 TLSv1.3 。有沒有辦法糾正這個問題(沒有限制性許可)?
查看完整描述

2 回答

?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

更新

自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+7

JRE supports TLS v1.3!

A total of 45 TLS cipher suites is supported.

此外,此列表概述了所有常規JSSE 密碼套件名稱。它可能有助于參考或其他(實施)目的。


希望能幫助到你。


查看完整回答
反對 回復 2022-06-08
?
qq_遁去的一_1

TA貢獻1725條經驗 獲得超8個贊

似乎出于某種原因,Ubuntu 實際上在 openjdk-11-* 軟件包下提供了 Java 10。



查看完整回答
反對 回復 2022-06-08
  • 2 回答
  • 0 關注
  • 257 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號