PEP 543 was introduced in October, 2016, for Python version 3.7, and is still in Draft status. Its goal is to define a standard TLS interface for Python, as a collection of abstract base classes. This interface would allow Python to bind to TLS libraries other than OpenSSL, to reduce dependence on the OpenSSL environment. By using abstract classes, programs can still use the Python interface for the standard ssl
module, while actually using a different security library.
With the ssl
module as a part of the Python standard library, it naturally has become the go-to tool for TLS encryption. However, some developers would prefer to use a different library other than OpenSSL, and incorporating these alternate libraries into their programs requires them to learn how to do it effectively, while maintaining a cohesive experience for the target platform.
The following is a list of problems with the current Python TLS configuration:
- Improvements in OpenSSL, such as higher-security...