adding what I found so far: The problem is that Python's test suite is expecting the ALPN test to return a fatal alert when asking for a protocol that is unknown on the server. OpenSSL changelog claims that this has changed in 1.1 (originally it returned an empty match set ... or something). However, the actual behavior as the test suite sees it is the same as in 1.0. I haven't been able to find the relevant code in openssl, and so far I was not successful in debugging exactly what code path Python is taking here.