Neha Patil (Editor)

Application Layer Protocol Negotiation

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS) extension for application layer protocol negotiation. ALPN allows the application layer to negotiate which protocol should be performed over a secure connection in a manner which avoids additional round trips and which is independent of the application layer protocols. It is used by HTTP/2.

Contents

Support

ALPN is supported by these libraries.

  • GnuTLS since version 3.2.0 released in May 2013.
  • MatrixSSL since version 3.7.1 released in December 2014.
  • Network Security Services since version 3.15.5 released in April 2014.
  • OpenSSL since version 1.0.2 released in January 2015.
  • LibreSSL since version 2.1.3 released in January 2015.
  • mbed TLS (previously PolarSSL) since version 1.3.6 released in April 2014.
  • SChannel since 8.1 / 2012 R2.
  • s2n since its original public release in June 2015.
  • wolfSSL (formerly CyaSSL) since version 3.7.0 released in October 2015.
  • History

    On July 11, 2014, ALPN was published as RFC 7301. ALPN replaces NPN

    TLS False Start was disabled in Google Chrome from version 20 (2012) onward except for websites with the earlier Next Protocol Negotiation (NPN) extension.

    References

    Application-Layer Protocol Negotiation Wikipedia