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

Enable ALPN parameters to be supplied during the TLS handshake

XMLWordPrintable

    • b150
    • Verified

        ALPN (Application Layer Protocol Negotiation) [1] is a TLS extension to enable
        clients and servers to negotiate the application-level protocol that will
        be carried over TLS.

        In JDK 9 new APIs were introduced to set and get application protocol names.
        These values are set in advance by TLS clients and servers and then exchanged
        during the TLS handshake. See JEP-244 (http://openjdk.java.net/jeps/244).

        Subsequently, a specific use-case was identified that is not addressed
        by our APIs. HTTP servers that support HTTP/2 [2] are constrained in their
        choice of cipher suite and are therefore unable to select the application
        protocol name in advance. Instead they must defer selection until after
        the TLS cipher suite is known.

        We need to introduce an API to enable such servers to set the application
        protocol name during the TLS handshake.


        ____
        [1] http://www.rfc-editor.org/rfc/rfc7301.txt
        [2] http://www.rfc-editor.org/rfc/rfc7540.txt

              vinnie Vincent Ryan
              vinnie Vincent Ryan
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: