The java.net.ssl package extension

The change to the java.net.ssl package in the Java 9 platform is that it now supports the TLS ALPN extension. Key benefits of this change are:

  • TLS clients and servers can now use multiple application-layer protocols, which may or may not use the same transport-layer port
  • The ALPN extension permits clients to prioritize application-layer protocols it supports
  • Servers can select a client protocol and for the TLS connection
  • Supports HTTP/2

The following illustration was previously presented as the five basic steps to TLS handshakes. Updated for Java 9 and presented here, the illustration indicates where the protocol names are shared between the client and server:

Once the client's list of application layer ...

Get Java 9: Building Robust Modular Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.