ImportNew一周资讯:JDK 9, 10与11中的安全改进
2018-12-24 来源:importnew
ImportNew小编为您搜集有关Java业界、资源一周资讯(2018.12.24)。
(内容无特殊说明均为英文,这里仅做摘编,点击链接可直达原文。)
1. JDK 9, 10 与 11 中的安全改进:来自 javaadvent
解读:TLS 握手流程有以下9步:
- 客户端:发送”hello”(TLS版本、密码)
- 服务器:发送”hello”(服务器证书、TLS版本、密码)
- 客户端:验证服务器证书及加密参数
- 客户端:发送客户端证书
- 客户端:发送秘钥
- 服务器:验证客户端证书
- 客户端:结束
- 服务器:结束
- 客户端与服务器开始交换信息
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 (https://www.mchange.com/projects/c3p0/)、HikariCP (https://github.com/brettwooldridge/HikariCP)。那么问题来了,这些连接池解决方案好使吗?这篇文章对比了 C3P0 和 HikariCP 默认值使用情况,最后的结论是“别相信我,也不要相信默认值”。
4. Java8 默认方法介绍以及对 API 设计的影响:来自?javaadvent
解读:在引入默认方法之前,要为 interface 添加实现,必须通过 abstract 类再进行继承。这么做的问题,以 java.util 中的 List 为例,会造成不符合面向对象的设计,比如 static sort() 方法。Java8 引入的默认方法提供了新的解决方法,通过在 List 接口中加入 sort() 方法改进了 API 设计。
5. Eclipse Collection 编程练习的19种解答:来自?javaadvent
解读:Eclipse Collection(https://github.com/eclipse/eclipse-collections) Java 集合框架对 List、Set 和 Map 进行了优化,提供一套丰富的流式 API。这篇文章中,按照教程 http://eclipse.github.io/eclipse-collections-kata/pet-kata/#/ 给出了19种解答。
6. Java 安全 API 动画演示:来自?javaadvent
解读:Java 安全动画(Security Animated)项目是一个通过动画、代码段介绍 Java 安全的开源项目 https://github.com/martinfmi/java_security_animated。内容涵盖 JDK 安全沙箱模型、JDK 安全开发库、主流框架安全机制(例如 OSGi,、JavaEE、Spring)及安全开发库 (如 BouncyCastle)。
整个演示包含以下章节:
- 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 解决进展。
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。