jetty / jetty.project

Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
https://eclipse.dev/jetty
Other
3.86k stars 1.91k forks source link

Add support for exporting TLS Keying Material #12479

Open sanjerai opened 1 week ago

sanjerai commented 1 week ago

Jetty version(s) Jetty 11.0.20+

Enhancement Description RFC5705 defines and RFC8446 updates keying material exporters for TLS:

Many other TLS implementations already support it:

5G mobile specs mandate the use of TLS session at app level for JWE:

We have a Spring + jetty client code base communicating over TLS1.3 and HTTP2. We have a use case to export TLS keying material or the master secret. We need this information to further derive keys for JWE tokens ciphering.

sbordet commented 1 week ago

@sanjerai OpenJDK does not provide any API to access the TLS exporters, so there is nothing that Jetty can do.

You may want to open an OpenJDK issue, and I would gladly support this, since it is required also for QUIC+TLS, which is currently not possible to implement using OpenJDK APIs.

sanjerai commented 1 week ago

@sbordet enhancement has been raised for open jdk https://bugs.openjdk.org/browse/JDK-8341346. Once complete we can track jetty changes with this current issue.

sbordet commented 1 week ago

@sanjerai thanks for the link to the OpenJDK bug.

Just to set expectations, realize that that issue will be fixed in Java 25 or later, and it will take a while (years) before adoption widespreads, so do not hold your breath 😄