> On 2 Feb 2017, at 11:03, Robert Collins <robe...@robertcollins.net> wrote:
> 
> Nice. What's needed to move this forward?

In the short term, for the PEP, nothing more than review and sanity checking. 
Antione has kindly provided some detailed review on GitHub (thanks Antoine!), 
and the more of that we get the better. Once review has quieted down for a few 
days, I’ll take that as something approximating consensus from this list, and 
I’ll kick it over to python-dev and start the formal PEP process.

Longer term, the following chunks of work will be needed:

1. Providing a shim for the current ssl module. The ssl module has a number of 
objects that don’t quite cleave to this API, so we’d probably want to either 
add new objects that do that (likely by wrapping the current ones), or we’d 
want a whole-new module that cleaves to this API. I’ll discuss more in my 
response to Paul what I think we’d do with the ssl module longer-term.
2. Code needs to be written for the identified network libraries to have them 
use the new API. There’s no point doing this until (1) is done, as they’ll 
otherwise have no ability to use any TLS API at all, but transitioning over to 
the new API starts providing some real community value as third-party 
implementations can start being used with stdlib network modules.
3. Backends for SChannel and SecureTransport would need to be written. The most 
likely response I expect from Guido and others in python-dev is that they’d 
like to see example implementations for SChannel and SecureTransport that fit 
this API. I am likely to stub out a SecureTransport implementation sometime 
soon, as I have some experience with that API, and it’d make a good test-bed 
for the PEP. I’m a bad fit for doing SChannel though: I don’t know Windows well 
enough, and my ramp-up time would be high. I’ll scout out to see if there’s 
someone who’s willing to stub this out, though.
4. Eventually, integrating the two backends above into the standard library so 
that it becomes possible to reduce the reliance on OpenSSL. This would allow 
future Python implementations to ship with all of their network protocol 
libraries supporting platform-native TLS implementations on Windows and macOS. 
This will almost certainly require new PEPs. I’ll probably volunteer to 
maintain a SecureTransport library, and I have got verbal suggestions from some 
other people who’d be willing to step up and help with that. Again, we’d need 
help with SChannel (looking at you, Steve).

These are all valuable things to do, and I’d accept help with any and all of 
them. Certainly we need to do (1) and (2) to start getting real value out of 
this PEP, with (3) being something that could be done third-party initially 
(and so don’t have to land in Python 3.7).

Cory
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to