其他

OSC - 协作翻译 2018-05-24


协作翻译

原文:Three New JEPs Targeted for JDK 11

链接:https://dzone.com/articles/three-new-jeps-targeted-for-jdk-11

译者:kevinlinkai, 琪花亿草, ellan, 豆豆胡萝卜


一周前(2018年5月7日),JDK11 新增了三个 JEP 。在 jdk-dev 邮件列表中出现了三封邮件,Mark Reinhold 发表了以下公告:


  • JDK 11 实现了 JEP:324:关于 Curve25519 和 Curve448 的重要协议

  • JDK 11 实现了 JEP:327:Unicode 10

  • JDK 11 实现了 JEP:328:飞行记录器


JEP 324:关于 Curve25519 和 Curve448 的密钥协议


JEP 324("关于 Curve25519 和 Curve448 的密钥协议")摘要部分指出:用 RFC 7748 里描述的 Curve25519 和 Curve448 实现密钥协议。Curve25519 条目在维基百科开头的段落里面明确说明这个特殊的椭圆曲线非常适合作为JDK的补充。它指出 Curve25519 是能提供128位安全性的椭圆曲线,同时是为 ECDH 密钥协议方案而设计的,并且是最快的 ECC 曲线之一,而且还没有被已知专利所覆盖。同时指出公共领域软件可以参考实现。


D. J. Bernstein 对 Curve25519 提出一种更具体,容易理解的总结:Curve25519 根据一个用户的32位字节密钥生成另一个用户的32位字节公钥。Curve25519 根据上面两个用户的32位字节密钥和32位字节公钥,生成由这两个用户共享的密钥。这个密钥将用于两个用户之间的信息认证和加密。 


互联网研究工作组提供的 RFC 7748 ("Elliptic Curves for Security")是一个备忘录,它指出在素数领域内两个椭圆曲线(curve25519 和 curve448)为
密码应用包含 TLS 在内的提供更高的实际安全性, 旨在 ~128 比特和 ~224 比特安全级别上分别操作,基于所需属性列表来确定性地生成。


JEP 324 的主要目标是为 RFC 7748 标准提供 API 和实现。同时展现出另外两个目标, 其他目标之一是提供一个独立的平台,在相同安全强度下所有java实现比现有的 ECC(native c) 有更好的性能。


SunEC 椭圆曲线密码提供商的 JEP 324 的当前计划只涉及 RFC 实现 。在提供 API(“XDH”)的情况下,其他 ECC 提供商似乎可以根据需要实施 RFC 7748。JEP 324 目前增加了一个重要的注意事项:“这个新库将在一个内部的 JDK 包中,并且只会被新的加密算法使用。”


JEP 327: Unicode 10


JEP 327 (“Unicode 10”) 提供了一个直截了当的“概括”:“升级已有的平台 API 到支持 Unicode 标准的 10.0 版本。”


维基百科的“Unicode/版本”词条列出了从 Unicode 1.0 到 Unicode 12.0 之间的每个 Unicode 的主要版本。Unicode 10 在去年夏天发布,而 Unicode11 计划在下个月发布。


Java 历史版本支持的 Unicode 版本”提出了早期历史版本/Java 版本对 Unicode 版本的支持分布,它展示了从 JDK 1.0 支持的 Unicode 1.1.5 到 JDK7 支持的 Unicode 6.0 。Unicode 6.2.0 在 JDK 8 中得到支持,Unicode 8.0.0 在 JDK 9 和 JDK 10 中被支持,因此 JDK11 会增加对 Unicode 9.0 和 Unicode 10.0 的支持。


JEP 327 明确列出了“4条相关的 Unicode 规范”(Unicode 技术标准)将在 JEP327 中“不会实现”,即 UTS#10(Unicode 排序算法),UST#39(Unicode 安全机制),UTS#46(Unicode IDNA 兼容性处理),以及 UTS#51( Unicode Emoji )。


JEP 328:飞行记录器


JEP 328("飞行记录器")旨在“提供一个低开销的数据收集框架,用于对 Java 应用程序和 HotSpot JVM 进行故障诊断”。 JEP 在其“动机”一节中指出,“飞行记录器记录源自应用程序,JVM 和 OS 的事件,所有的事件信息存储在一个单独的文件中,并可以附加到错误报告交由技术支持人员,在发生问题的时使用 API 从报告文件中提取信息,对问题进行事实分析和检查。“


在 Java Mission Control 页面描述了 Java Flight Recorde r及其与 Java Mission Control 的关系:

Java Flight Recorder 和 Java Mission Control 一起创建了一个完整的工具链,可以持续收集低级别和详细的运行时信息,从而实现事后事件分析。 Java Flight Recorder 是内置于 Oracle JDK 中的分析和事件收集框架。它允许管理员和开发人员收集有关Java虚拟机(JVM)和Java应用程序详细的运行信息。


Java Mission Control 是一套高级工具,可以对 Java Flight Recorder 收集的大量数据进行高效和详细的分析。工具链使开发人员和管理员能够对本地运行或部署在生产环境中的 Java 应用程序收集和分析数据。


JEP 是自去年9月发布的公告的又一进步,“Oracle 还将开放商业源代码的功能,例如以前仅在 Oracle JDK 中提供的 Java Flight Recorder。” Marcus Hirt 本月刚刚宣布,Java Mission Control 已经开源,可以在 http://hg.openjdk.java.net/jmc 找到可用的资料。


总结


本文中强调新增的三个 JEP 使得 JDK11 中关联的 JEP 数量达到了 8 个:


  • JEP 309:动态类文件常量

  • JEP 318:Epsilon:一款低开销的垃圾收集器

  • JEP 320:移除 Java EE 和 CORBA 模块

  • JEP 321:HTTP 客户端(标准)

  • JEP 323:Lambda 参数的局部变量语法

  • JEP 324:关于 Curve25519 和 Curve448 的重要协议

  • JEP 327:Unicode 10

  • JEP 328:飞行记录器




推荐阅读

吃透这套架构演化图,从零搭建 Web 网站也不难!

“操作系统是中国网络安全短板,建议都用国产系统”

Google AI “作恶”,4000 员工抗议,十余人失望辞职!

锤子又为开源捐款!480 万门票收入捐给 OpenSSL 与 OpenBSD

谷歌终于开放 ".app" 顶级域名注册

点击“阅读原文”查看更多精彩内容

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存