首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java 9和TLS OCSP装订

Java 9和TLS OCSP装订
EN

Stack Overflow用户
提问于 2017-09-22 08:06:30
回答 1查看 2K关注 0票数 0

我已经安装了Java 9,因为我想使用OCSP ()特性与TLS握手,也就是OCSP装订。正如4307382所述,Java9是使用OCSP装订的第一版。

要测试它,可以设置或读取某些新属性,如"jdk.tls.server.enableStatusRequestExtension".

但是,在查询此属性时,我会得到"null“而不是"false”(或true)。

代码语言:javascript
复制
System.getProperty("jdk.tls.server.enableStatusRequestExtension")

刚刚在新的jShell上试用了一下:

代码语言:javascript
复制
[jshell> System.getProperty("jdk.tls.server.enableStatusRequestExtension")

$2 ==> null

Java 9不应该发生这种情况。知道为什么吗?这是我两天前下载的一个所谓的早期访问构建。Java 9的正式发布日期是2017年9月21日(昨天)。不幸的是,Mac还没有发布版本。这个特性是否真的还没有在早期访问构建(应该接近最终版本)中实现呢?

希望这里有人能帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-26 19:15:58

对于对System.getProperty("jdk.tls.server.enableStatusRequestExtension")的调用,jshell返回null,因为该属性不存在。我在Java 9下得到了同样的结果。

您似乎期望该属性在Java 9下自动存在,但事实并非如此;您仍然需要显式地创建它,并将其赋值为"true“。在9月249中,它在Java9中实现了这个特性:

实现将为OCSP特定参数选择合理的默认值,并通过以下系统属性提供这些默认值的配置.

这并不意味着所有OCSP属性都自动存在于具有默认设置的Java 9中;这意味着在没有这些OCSP系统属性的情况下,代码将“选择合理的默认值”。例如,如果服务器无法读取属性jdk.tls.server.enableStatusRequestExtension ,则实现将(合理地)表现为设置了值为"false“的属性。

还请参阅来自关于安全性的Oracle演示文稿的OCSP代码示例

//启用OCSP装订(默认情况下关闭) System.setProperty(“jdk.tls.server.enableStatusRequestExtension”,“true”;//是的,就是这样!

因此,我建议您只在必要时显式地为OCSP设置客户端和服务器属性,不要担心它们在Java 9下不存在。

TLDR版本: Java 9支持用于TLS的OCSP装订,但假设在没有来自用户的任何显式配置的情况下不启用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46359826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档