Add support for JEP 244: TLS Application-Layer Protocol Negotiation Extension in Java SE 8.
APIs to support a Transport Layer Security (TLS) feature called Application Layer Protocol Negotiation (ALPN)  were introduced in Java SE 9 under JEP 244 (JDK-8051498). Customers have requested ALPN in Java SE 8 to support features like HTTP/2.
To preserve compatibility with newer platform releases, the Java SE 9 ALPN APIs will be backported to Java SE 8.
Backport the Java SE 9 ALPN APIs.
There are two API bugs to be backported:
JDK-8144093: JEP 244/8051498 - TLS Application-Layer Protocol Negotiation Extension
JDK-8170282: Enable ALPN parameters to be supplied during the TLS handshake
See the attached webrev for full details. I am including all non-trivial changes to the API files, which include:
A short javadoc narrative on using the new methods.
Several new fields/methods were added.