<div dir="ltr"><span style="font-size:12.8000001907349px">The ALPN RFC [1] states:</span><div style="font-size:12.8000001907349px"><br></div><div style="font-size:12.8000001907349px"><p>In the event that the server supports no protocols that the client advertises, then the server SHALL respond with a fatal "no_application_protocol" alert. [2]</p><p>This functionality is not yet implemented in OpenSSL.  Now that HTTP/2 has be published as a RFC [3], and due to HTTP/2's dependency on ALPN, it may be good to revisit the issue. The NPN specification is less specific about what to do in the event of no matching protocols, but the OpenSSL implementation also does not support failing the handshake.  NPN may be a lower priority than ALPN but it would be nice to support consistent (as possible) behavior for the two extensions.</p></div><div style="font-size:12.8000001907349px"><div>This issue was originally raised on github [4].</div><div><br></div><div>[1] <a href="https://tools.ietf.org/html/rfc7301" target="_blank">https://tools.ietf.org/html/rfc7301</a></div></div><div style="font-size:12.8000001907349px">[2] <a href="https://tools.ietf.org/html/rfc7301#section-3.2" target="_blank">https://tools.ietf.org/html/rfc7301#section-3.2</a></div><div style="font-size:12.8000001907349px">[3] <a href="https://tools.ietf.org/html/rfc7540" target="_blank">https://tools.ietf.org/html/rfc7540</a></div><div style="font-size:12.8000001907349px">[4] <a href="https://github.com/openssl/openssl/issues/188" target="_blank">https://github.com/openssl/openssl/issues/188</a></div></div>