1

在我的 SpringBoot Web 应用程序中,我希望能够确定在 'client hello-server hello' TLS 协商过程中是否使用了 TLS ' token_binding '扩展( RFC8472 )。

从 SpringBoot 的角度来看,我很确定我必须使用我的自定义 SSLSocketFactory 实例覆盖 restTemplate,类似于这个:Spring Boot AsyncRestTemplate SSLSocketFactory

但是,我不知道如何从中读取/获取 token_binding 扩展。它将欣赏如何提取此内容的示例,或者至少如何使用 java(用于 SSL 客户端)向 TLS/SSL 结构添加任何扩展。

4

2 回答 2

0

Java 无法轻松访问您需要的 TLS 层中的内容。我做了一些相关的工作,您可以在https://github.com/pingidentity/java8-token-binding-negotiation看到,但在 Chrome 删除其令牌绑定支持后停止维护它(https://identiverse.com/2018/10 /31/chrome-puts-token-binding-in-a-bind/有更多的颜色)。

于 2020-05-27T19:29:15.710 回答
0

Java TLS API 需要为此添加支持。OpenJDK 有一个未解决的问题来添加对此https://bugs.openjdk.java.net/browse/JDK-8236511的支持。但是,Java SSE 维护者的评论指出。

将 fixVersion 从“16”更改为“tbd”。尽管令牌绑定似乎是我们可能想要支持的一个重要特性,但该领域的标准仍然在不断变化。RFC 8472 没有被浏览器/TLS 工具包广泛支持,并且被一些人认为是有争议的。使用 TLS 相互身份验证的不同解决方案可能是更好的方法:https ://datatracker.ietf.org/doc/rfc8705/

我们觉得我们现在应该等待,看看这个领域会如何发展。

于 2020-10-19T03:29:53.513 回答