-
Notifications
You must be signed in to change notification settings - Fork 193
Support ALPN negotiation #31
Comments
Hmm, PyOpenSSL doesn't even support NPN, let alone ALPN. Maybe worth an enhancement? |
I filed this: pyca/pyopenssl#79 |
Excellent! Thanks for that! I'll see how hard it's likely to be to implement this in PyOpenSSL. =) |
I'm not sure how much this helps, but I've forked the Python 2.7.6 |
There's a crossover between this and PyOpenSSL. I prefer the interface from the stdlib's |
I was not aware of PEP466, and let me assure you, it's a big relief. Since the changes to be backported are evidently the entire Python 3.5 is still in development, although I'm not sure if the new-feature window is still open; perhaps I'll implement ALPN support therein. In the meantime, I suppose a compatibility layer could be written that exposes PyOpenSSL as a Python 3.4 |
Ah, I now realize hyper only supports Python 3.3+. What are your feelings on supporting 2.7 as well? |
I've had this discussion with Nick and Donald, and the basic gist is that adding ALPN in 3.5 won't get it backported to 2.7. As for supporting 2.7, I'd like to do it, but it requires either a backport of the |
This is no longer a WIBNI, it's mandatory, because ALPN is mandatory in the spec. This is a gigantic pain in the ass. Some options:
What a nightmare. |
+1 for openssl. develop wth beta now, check python mailing list / issues wrt. exposing openssl features to python-land. |
We're planning 0.5 to be out in the next week or two so if there's any new bindings you need for ALPN now's a good time to get them in :)
We are ever so slowly coming round to the idea that maybe we should just statically link (or at least bundle) OpenSSL for Windows in cryptography. Seems a bit mad for you to have to do that upstream and you aren't the first downstream dependency who's faced this issue. |
@public What's the position of |
The other option is NSS, which also appears to have Python bindings. |
@Lukasa We test against OpenSSL "1.0.2" https://cryptography.io/en/latest/installation/?highlight=openssl#supported-platforms so I think we'd probably be OK with that. |
This support will be available in Python 3.5 and Python 2.7.10. |
PyOpenSSL is now also unblocked! |
Hurrah, completed! |
I'd like to do ALPN to negotiate HTTP/2 like basically everyone else does, but I can't because the standard library doesn't support it.
PyOpenSSL might be my best bet here.
The text was updated successfully, but these errors were encountered: