Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8233417

JEP 244: TLS Application-Layer Protocol Negotiation Extension (Java SE 8)

    XMLWordPrintable

    Details

    • Subcomponent:
    • Compatibility Kind:
      source
    • Compatibility Risk:
      minimal
    • Compatibility Risk Description:
      Generally the new code will not be exercised until the proper APIs are called.
    • Interface Kind:
      Java API
    • Scope:
      SE

      Description

      Summary

      Add support for JEP 244: TLS Application-Layer Protocol Negotiation Extension in Java SE 8.

      Problem

      APIs to support a Transport Layer Security (TLS) feature called Application Layer Protocol Negotiation (ALPN) [1] 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.

      [1] https://tools.ietf.org/html/rfc7301

      Solution

      Backport the Java SE 9 ALPN APIs.

      There are two API bugs to be backported:

      APIs:

      JDK-8144093: JEP 244/8051498 - TLS Application-Layer Protocol Negotiation Extension

      JDK-8170282: Enable ALPN parameters to be supplied during the TLS handshake

      Specification

      See the attached webrev for full details. I am including all non-trivial changes to the API files, which include:

      1. A short javadoc narrative on using the new methods.

      2. Several new fields/methods were added.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              wetmore Bradford Wetmore
              Reporter:
              wetmore Bradford Wetmore
              Reviewed By:
              Sean Mullan, Xue-Lei Fan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: