當前位置:
首頁 > 知識 > ImportNew 一周資訊 : JDK 9 , 10 與 11 中的安全改進

ImportNew 一周資訊 : JDK 9 , 10 與 11 中的安全改進

(點擊

上方公眾號

,可快速關注)


來源:lmportNew - 唐尤華

ImportNew小編為您搜集有關Java業界、資源一周資訊(2018.12.24)。

(內容無特殊說明均為英文,這裡僅做摘編,點擊鏈接可直達原文。)

1. JDK 9, 10 與 11 中的安全改進:來自 javaadvent

解讀

:TLS 握手流程有以下9步:



  1. 客戶端:發送」hello」(TLS版本、密碼)



  2. 伺服器:發送」hello」(伺服器證書、TLS版本、密碼)



  3. 客戶端:驗證伺服器證書及加密參數



  4. 客戶端:發送客戶端證書



  5. 客戶端:發送秘鑰



  6. 伺服器:驗證客戶端證書



  7. 客戶端:結束



  8. 伺服器:結束



  9. 客戶端與伺服器開始交換信息

JDK9 中的安全改進

:JSSE(Java Secure Socket Extension) API



  • 支持 DTLS,在 UDP 上進行 TLS 加密



  • 加入 TLS ALPN 擴展,支持在 TLS 握手過程中加入應用協議



  • 對 TCP 進行 OCSP 加固,在 TLS 伺服器上進行協議驗證,節省帶寬。此配置需要在客戶端和伺服器上同時啟用



  • 默認使用 PKCS12 秘鑰庫:目前使用的 JKS 無法應用到 Java 以外的編程語言



  • 基於 DRBG 實現 SecureRandom



  • 利用 CPU 指令進行 GHASH 與 RSA 加密



  • 協議驗證中禁用 SHA-1 協議



  • 實現 SHA-3 哈希演算法



JDK10 中的安全改進:





  • JEP319 Root 證書:在 JDK 的 Cacert 秘鑰庫中加入 root 證書列表



  • 一些安全相關的 API 標記為移除



JDK 11 中的安全改進:





  • JEP32:TLS 1.3,在1.2版本基礎上增加了許多改進



  • JDK 的 Cacert 秘鑰庫中增加了一些、移除了一些 root 證書



2. 用 Java 實現資料庫批量更新:來自 javaadvent

解讀

:批量更新可以獲得更好的執行效率。這篇文章介紹了如何通過 JDBC API、Spring JDBCTEMPLATE、JOOQ、Hibernate 實現批量更新。

3. 連接池你造嗎:來自 javaadvent

解讀

:傳統 Web 訪問存在這樣的問題,打開慢,忘記關閉連接會造成內存泄漏。使用資料庫連接池是一種改進方法,比如 C3P0 、HikariCP 。那麼問題來了,這些連接池解決方案好使嗎?這篇文章對比了 C3P0 和 HikariCP 默認值使用情況,最後的結論是「別相信我,也不要相信默認值」。

C3P0:


https://www.mchange.com/projects/c3p0/

HikariCP


https://github.com/brettwooldridge/HikariCP

4. Java8 默認方法介紹以及對 API 設計的影響:來自 javaadvent

解讀

:在引入默認方法之前,要為 interface 添加實現,必須通過 abstract 類再進行繼承。這麼做的問題,以 java.util 中的 List 為例,會造成不符合面向對象的設計,比如 static sort() 方法。Java8 引入的默認方法提供了新的解決方法,通過在 List 介面中加入 sort() 方法改進了 API 設計。

5. Eclipse Collection 編程練習的19種解答:來自 javaadvent

解讀

:Eclipse Collection Java 集合框架對 List、Set 和 Map 進行了優化,提供一套豐富的流式 API。這篇文章中,按照教程 給出了19種解答。


http://eclipse.github.io/eclipse-collections-kata/pet-kata/#/

6. Java 安全 API 動畫演示:來自 javaadvent

解讀

:Java 安全動畫(Security Animated)項目是一個通過動畫、代碼段介紹 Java 安全的

開源項目

。內容涵蓋 JDK 安全沙箱模型、JDK 安全開發庫、主流框架安全機制(例如 OSGi,、JavaEE、Spring)及安全開發庫 (如 BouncyCastle)。

開源項目:


https://github.com/martinfmi/java_security_animated

整個演示包含以下章節:


- sanbox model


- security APIs:


   - JAAS
   - JSSE (SSL/TLS/DTLS)
   - GSSAPI/Kerberos
   - JCA (JCE/Crypto)
   - SASL
   - PKI (CertPath)
   - JAR Verification
   - XML Signatures

- tools:


   - keytool
   - jarsigner
   - policytool
   - kinit
   - klist
   - ktabs

說明:項目 pom.xml 不全,可以關注 issue 解決進展。



【關於投稿】

如果大家有原創好文投稿,請直接給公號發送留言。

① 留言格式:


【投稿】+《 文章標題》+ 文章鏈接

② 示例:


【投稿】《不要自稱是程序員,我十多年的 IT 職場總結》:http://blog.jobbole.com/94148/

③ 最後請附上您的個人簡介哈~


看完本文有收穫?請轉發分享給更多人


關注「ImportNew」,提升Java技能


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 ImportNew 的精彩文章:

4周,從入門小白到爬蟲老炮兒,薪資水平超過60% IT 新手!

TAG:ImportNew |