JDK 9、10和11中的安全性增强

缩短JDK发布周期的原因之一是有可能推出更快的安全错误修复和增强功能。 在本文中,我们将简要回顾一下最新JDK版本中引入的主要安全增强功能。 由于这些增强功能中的大多数与TLS相关,因此必须了解TLS握手过程,如下图所示:

安全增强

JDK 9

JDK 9中引入的主要安全增强功能与JSSE(Java安全套接字扩展)API提供的TLS支持有关。 这些包括:
•JDK 9中的DTLS支持:DTLS本质上提供了UDP上的TLS,因此您可以加密通过UDP运行的不可靠协议建立的通信
SSLContext sslContext = SSLContext.getInstance("DTLS");
sslContext.init(…)
SSLEngine engine = sslContext.createSSLEngine();

•JDK 9中的TLS ALPN扩展:支持在TLS握手过程中协商应用程序协议,可接受的协议列表设置为TLS客户端和TLS服务器上的简单字符串列表

SSLParameters sslParams = sslSocket.getSSLParameters();
sslParams.setApplicationProtocols(…)

或(用于非阻塞操作模式)

SSLParameters sslParams = sslEngine.getSSLParameters();
sslParams.setApplicationProtocols(…)

或(使用更复杂的逻辑来确定协商的协议)

sslSocket.setHandshakeApplicationProtocolSelector((serverSocket, clientProtocols) {
SSLSession handshakeSession = serverSocket.getHandshakeSession();
String cipher = handshakeSession.getCipherSuite();

TLS ALPN派上用场,即适用于为其客户端同时支持TLS的HTTP 1.1和HTTP 2.0协议的Web服务器
•用于TCP的OCSP装订:提供一种在TLS服务器(而不是TLS客户端)上进行证书吊销检查的机制,从而节省了网络带宽,必须同时在TLS客户端和TLS服务器上启用

-Djdk.tls.client.enableStatusRequestExtension=true
-Dcom.sun.net.ssl.checkRevocation=true

和(在TLS服务器上)

-Djdk.tls.server.enableStatusRequestExtension=true

•默认情况下,PKCS12密钥库(到目前为止,它们是JKS,但是它们不能跨Java编程语言移植)
•基于DRBG的SecureRandom实施
•利用GHASH和RSA的CPU指令 •SHA-1证书已禁用,无法进行证书验证 •SHA-3哈希算法的实现

JDK 10

JDK 10中引入了两个主要的增强功能:
JEP 319根证书:列表或根证书已公开给JDK的cacerts密钥库
一些与安全相关的API标记为要删除:

JDK 11

JDK 11中引入的主要安全增强功能由JEP 332:传输层安全性(TLS)1.3提供。 这是TLS协议的新版本,与TLS规范的先前版本(1.2)相比,提供了许多增强功能。 此外,对cacerts密钥库中的根证书进行了更多增强(添加了一些根证书,并删除了一些根证书)。

翻译自: https://www.javacodegeeks.com/2018/12/security-enhancements-jdk-9-10-11.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/344627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三星q90r如何升级系统_看尚电视强制升级风行系统,如何安装第三方软件?

最近,看尚电视强制升级系统,不论界面UI还是操作方式都与之前有所不同,就连就简单的下载第三方软件,很多用户表示升级之后处处碰壁,那么今天小编就来和大家讲一下升级之后所遇到的问题,方便大家及时熟悉新系统。1、如何安装第三方软件这次看尚电视升级后,安装第三方软件的方式与…

移动通信考前预习_第4章_全球移动系统(GSM)

课件例题 例: 现GSM系统有10MHz的频段,如果采用434\times343的频率复用,试求出这个系统里基站的频点配置。若改成333\times333的频率复用,那么情况又是如何? 练习: 现GSM系统有6MHz的频段,如果…

Github常用搜索指令(毕设资料搜索必备)

1、language:限制语言 2、in:根据某个关键词来进行检索 关键词name项目名称description项目描述readme项目帮助文档语法:需要检索的内容 in:name或description或reademe 组合使用:加逗号即可 3、根据starts或fork关键词查找 单…

dev分支和master是什么_天天用Git,分支开发你怎么弄的?

来源| juejin.im/post/6844903635533594632Git 是目前最流行的源代码管理工具。为规范开发,保持代码提交记录以及 git 分支结构清晰,方便后续维护,现规范git的相关操作。分支命名1、master 分支master 为主分支,也是用于部署生产环…

gradle ant_区分基于Ant目标的Gradle任务

gradle ant在我的博客文章《 从Ant Build演变Gradle构建:导入Ant构建文件》中 ,我演示了如何使用Gradle内置的基于AntBuilder的Ant支持在Gradle构建中导入Ant目标。 然后,可以将这些Ant目标作为Gradle任务进行访问,并与Gradle构建…

labview求n阶乘的和_求极限方法总结

函数的极限第一步:判断极限类型1、 型常用方法:①洛必达法则 ②等价无穷小代换 ③泰勒公式2、 型常用方法:①洛必达法则②分子分母同除以分子和分母各项中最高阶的无穷大③基本极限: 当nm时,极限等于 ,当n<…

uniapp怎么引入css_CSS 三种基础选择器

本节我们来学习 CSS 中的选择器,选择器是 CSS 里面一个很重要的概念,HTML 中的所有标签样式,都是通过不同的 CSS 选择器进行控制的。我们只需要通过选择器,就可以对不同的 HTML 标签进行选择,并指定各种样式声明。在 C…

万网绑定二级域名_Hexo+yilia主题网站绑定个性域名

上篇我们已经成功部署了自己的博客网站,初始化的网站看上去似乎少了些内容(高端大气上档次的设置)。接下来我们就进一步完善我们的博客网站(孟繁胜游)。绑定个性域名当你打开github给你设定的固定域名时,是不是感觉low极了。主要是github给你的域名在你注…

javafx 自定义控件_JavaFX自定义控件– Nest Thermostat第1部分

javafx 自定义控件几周前,由于Hendrik Ebbers的出色文章 ,我决定花一些时间观看有关JavaFX的JavaOne讨论。 我不得不说我已经学到了很多东西,只是看这些视频(即使我还没有完成)! Gerrit的“使用力&#xf…

不等号属于不等式吗_考研专业课备考时,仅仅多刷几遍目标院校的期末考试题就够吗?...

考研专业课备考时,仅仅多刷几遍目标院校的期末考试题就够吗?也许这要看各专业情况,部分专业的考研题和本科生的期末考试题难度类似,比如说人文社科类的专业,这也是我的猜测情况。大部分专业的专业课题目难度&#xff0…

使用Spring Boot和H2可以完全工作的原型

我们确实在弹簧上使用了很多h2,特别是对于单元测试。 但是,我们可能希望拥有一个功能齐全的原型来显示数据,而不是进行单元测试。 H2是最理想的选择,它在spring上运行良好,与大多数数据库都具有良好的语法兼容性&…

饿了吗商品列表_仅仅一字之差,饿了么起诉饿了吗

饿了么与“饿了吗”,仅仅一字之差,相信不少人乍看会以为是一家。但近日公开的一则判决书显示,因为太近似,二者曾对簿公堂。饿了吗公司以败诉收场,被判处立即变更其企业名称,变更后企业名称中不得含有与“饿…

pandas 遍历并修改_Pandas循环提速7万多倍!Python数据分析攻略

乾明 编译整理 量子位 报道 | 公众号 QbitAI用Python和Pandas进行数据分析,很快就会用到循环。但在这其中,就算是较小的DataFrame,使用标准循环也比较耗时。遇到较大的DataFrame时,需要的时间会更长,会让人更加头疼。现…

教程:用Java创建和验证JWT

“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 Java对JWT(JSON Web令牌)的支持过去需要进行大量工作&#xf…

AWS re:Invent 2018的5大公告

AWS re:Invent刚刚完成。 这是一个巨大的活动,在拉斯维加斯7家最大的酒店中,有50,000多名与会者,并发布了许多新服务。 无服务器通过新的lambda增强功能和更好的容器支持而继续引起人们的广泛关注。 AWS通过新的“ Outposts”功能…

添加右键菜单_如何在Windows文件夹的右键菜单中添加“打开PowerShell”

原文:https://www.howtogeek.com/165268/how-to-add-open-powershell-here-to-the-context-menu-in-windows/如果您喜欢使用Windows PowerShell而不是命令提示符,那么您可能喜欢从右键单击Windows中的文件夹时得到的上下文菜单中直接访问它。以下是如何做…

多云系统的授权

这是我目前正在致力于消耗SPIFFE( 安全生产身份框架 (Every Production Identity Framework For Everyone )在WSO2的Prabath Siriwardena先生的启发下,在Moratuwa大学的Gihan Dias教授的指导下,通过信任和身份验证在动…

级联选择组件_如何开发一个 Antd 级联多选控件

本文也同步发在掘金上, https:// juejin.cn/post/69149942 41940750343 Intro 这篇文章将从零开始介绍如何开发一个 Antd 的级联多选选择器。先看效果: Github,Sandbox 阅读完这篇文章,不仅可以学会如何实现级联多选的功能,还可以顺便学会: 如何发布一个 Typescript 编写…

node mysql安装目录_nodejs 指定全局安装路径和缓存路径

1、前提:已安装 nodejs(nodejs官网 https://nodejs.org), 并且已将其添加到了环境变量 path 中;2、进入cmd命令行,然后输入 node -v ,测试是否安装成功,出现版本号就表示安装成功3、进入cmd命令行,然后输入…

mysql的sql执行原理图_性能测试MySQL之SQL运行原理

一,MySQL运行原理两个一样的图1,SQL语句执行的过程详细说明如上图所示,当向MySQL发送一个请求的时候,MySQL到底做了什么:a, 客户端发送一条查询给服务器。b, 服务器先检查查询缓存,如果命中了缓存&#xff…