jdk9与jdk11哪个好_JDK 9、10和11中的安全性增强
jdk9與jdk11哪個好
縮短JDK發(fā)布周期的原因之一是有可能推出更快的安全錯誤修復(fù)和增強功能。 在本文中,我們將簡要回顧一下最新JDK版本中引入的主要安全增強功能。 由于這些增強功能中的大多數(shù)與TLS相關(guān),因此必須了解TLS握手過程,如下圖所示:
JDK 9
JDK 9中引入的主要安全增強功能與JSSE(Java安全套接字擴展)API提供的TLS支持有關(guān)。 這些包括:
?JDK 9中的DTLS支持:DTLS本質(zhì)上提供了UDP上的TLS,因此您可以加密通過UDP運行的不可靠協(xié)議建立的通信
SSLContext sslContext = SSLContext.getInstance("DTLS");
sslContext.init(…)
SSLEngine engine = sslContext.createSSLEngine();
?JDK 9中的TLS ALPN擴展:支持在TLS握手過程中協(xié)商應(yīng)用程序協(xié)議,可接受的協(xié)議列表設(shè)置為TLS客戶端和TLS服務(wù)器上的簡單字符串列表
SSLParameters sslParams = sslSocket.getSSLParameters();
sslParams.setApplicationProtocols(…)
或(用于非阻塞操作模式)
SSLParameters sslParams = sslEngine.getSSLParameters();
sslParams.setApplicationProtocols(…)
或(使用更復(fù)雜的邏輯來確定協(xié)商的協(xié)議)
sslSocket.setHandshakeApplicationProtocolSelector((serverSocket, clientProtocols) {
SSLSession handshakeSession = serverSocket.getHandshakeSession();
String cipher = handshakeSession.getCipherSuite();
TLS ALPN派上用場,即適用于通過TLS支持HTTP 1.1和HTTP 2.0協(xié)議的Web服務(wù)器的客戶端
?用于TCP的OCSP裝訂:提供一種在TLS服務(wù)器(而不是TLS客戶端)上執(zhí)行證書吊銷檢查的機制,從而節(jié)省了網(wǎng)絡(luò)帶寬,必須同時在TLS客戶端和TLS服務(wù)器上啟用
-Djdk.tls.client.enableStatusRequestExtension=true
-Dcom.sun.net.ssl.checkRevocation=true
和(在TLS服務(wù)器上)
-Djdk.tls.server.enableStatusRequestExtension=true
?默認情況下,PKCS12密鑰庫(到目前為止,它們是JKS,但是它們不能跨Java編程語言移植)
?基于DRBG的SecureRandom實施
?將CPU指令用于GHASH和RSA ?SHA-1證書已禁用,無法進行證書驗證 ?SHA-3哈希算法的實現(xiàn)
JDK 10
JDK 10中引入了兩個主要的增強功能:
JEP 319根證書:列表或根證書已公開給JDK的cacerts密鑰庫
一些與安全相關(guān)的API標記為要刪除:
JDK 11
JDK 11中引入的主要安全增強功能由JEP 332:傳輸層安全性(TLS)1.3提供。 這是TLS協(xié)議的新版本,與TLS規(guī)范的先前版本(1.2)相比,提供了許多增強功能。 此外,對cacerts密鑰庫中的根證書進行了更多增強(添加了一些根證書,并刪除了一些根證書)。
翻譯自: https://www.javacodegeeks.com/2018/12/security-enhancements-jdk-9-10-11.html
jdk9與jdk11哪個好
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的jdk9与jdk11哪个好_JDK 9、10和11中的安全性增强的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刺激战场四指最佳设置(刺激战场四指灵敏度
- 下一篇: epon上行天翼网关设置(gpon上行天