Application-Layer Protocol Negotiation
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 that avoids additional round trips and which is independent of the application layer protocols. It is needed by secure HTTP/2 connections, which improves the compression of web pages and reduces their latency compared to HTTP/1.x. The ALPN and HTTP/2 standards emerged from development work done by Google on the now withdrawn SPDY protocol.
Contents
1 Support
2 History
3 References
4 External links
Support
ALPN is supported by these libraries.
GnuTLS since version 3.2.0 released in May 2013.[1]
MatrixSSL since version 3.7.1 released in December 2014.[2]
Network Security Services since version 3.15.5 released in April 2014.[3]
OpenSSL since version 1.0.2 released in January 2015.[4]
LibreSSL since version 2.1.3 released in January 2015.[5]
mbed TLS (previously PolarSSL) since version 1.3.6 released in April 2014.[6]
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. [7]
Go (in the standard library crypto/tls package) since version 1.4 released in December 2014. [8]- picotls[9]
JSSE in Java since JDK 9 released in September 2017.[10]
History
On July 11, 2014, ALPN was published as RFC 7301. ALPN replaces NPN [11]
TLS False Start was disabled in Google Chrome from version 20 (2012) onward except for websites with the earlier Next Protocol Negotiation (NPN) extension.[12]
References
^ "gnutls 3.2.0". Retrieved 2015-01-26..mw-parser-output cite.citationfont-style:inherit.mw-parser-output .citation qquotes:"""""""'""'".mw-parser-output .citation .cs1-lock-free abackground:url("//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Lock-green.svg/9px-Lock-green.svg.png")no-repeat;background-position:right .1em center.mw-parser-output .citation .cs1-lock-limited a,.mw-parser-output .citation .cs1-lock-registration abackground:url("//upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Lock-gray-alt-2.svg/9px-Lock-gray-alt-2.svg.png")no-repeat;background-position:right .1em center.mw-parser-output .citation .cs1-lock-subscription abackground:url("//upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Lock-red-alt-2.svg/9px-Lock-red-alt-2.svg.png")no-repeat;background-position:right .1em center.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registrationcolor:#555.mw-parser-output .cs1-subscription span,.mw-parser-output .cs1-registration spanborder-bottom:1px dotted;cursor:help.mw-parser-output .cs1-ws-icon abackground:url("//upload.wikimedia.org/wikipedia/commons/thumb/4/4c/Wikisource-logo.svg/12px-Wikisource-logo.svg.png")no-repeat;background-position:right .1em center.mw-parser-output code.cs1-codecolor:inherit;background:inherit;border:inherit;padding:inherit.mw-parser-output .cs1-hidden-errordisplay:none;font-size:100%.mw-parser-output .cs1-visible-errorfont-size:100%.mw-parser-output .cs1-maintdisplay:none;color:#33aa33;margin-left:0.3em.mw-parser-output .cs1-subscription,.mw-parser-output .cs1-registration,.mw-parser-output .cs1-formatfont-size:95%.mw-parser-output .cs1-kern-left,.mw-parser-output .cs1-kern-wl-leftpadding-left:0.2em.mw-parser-output .cs1-kern-right,.mw-parser-output .cs1-kern-wl-rightpadding-right:0.2em
^ "MatrixSSL - News". 2014-12-04. Archived from the original on 2015-02-14. Retrieved 2015-01-26.
^ "NSS 3.15.5 release notes". Mozilla Developer Network. Mozilla. Retrieved 2015-01-26.
^ "OpenSSL 1.0.2 release notes". The OpenSSL Project. The OpenSSL Project. 2015-01-22. Retrieved 2015-01-26.
^ "LibreSSL 2.1.3 released". 2015-01-22. Retrieved 2015-01-26.
^ "Download overview - PolarSSL". 2014-04-11. Retrieved 2015-01-26.
^ "wolfSSL Release Change Log". 2015-10-26. Retrieved 2015-09-11.
^ "Go 1.4 Release Notes". 2014-12-10. Retrieved 2017-11-28.
^ "Picotls". Github. Retrieved 2 August 2018.
^ "JEP 244: TLS Application-Layer Protocol Negotiation Extension". 2017-08-07. Retrieved 2018-08-29.
^ Langley, Adam. "» NPN and ALPN". Retrieved 2 April 2013.
^ Langley, Adam. "False Start's Failure (11 Apr 2012)". Retrieved 25 September 2013.
External links
Wikimedia Commons has media related to SSL and TLS. |
- The registry of ALPN protocol IDs is maintained by IANA as a TLS extension.
draft-agl-tls-nextprotoneg-04 (NPN draft) (last updated: May 2012)
RFC 7301 "Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension"
This computer networking article is a stub. You can help Wikipedia by expanding it. |