Skip to main content

The Python 3.4 standard `ssl` module API implemented on top of pyOpenSSL

Project description

-------------
backports.ssl
-------------

What is it?
-----------

It's the Python 3.4 standard `ssl` module API implemented on top of pyOpenSSL::

import backports.ssl as ssl
import socket

context = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
context.verify_mode = ssl.CERT_REQUIRED

conn = context.wrap_socket(socket.socket(socket.AF_INET))
conn.connect(('google.com', 443))
print conn.getpeercert()
conn.close()

Why?
----

Because the latest web technologies should be available to those running older
versions of Python.

Isn't this obsoleted by `PEP 466`_?
-----------------------------------

If you're on Python 2.7 and only want improved default security options, then
yes. But PEP 466 doesn't cover Python 2.6, 3.2, or 3.3, and new feature
enhancements, like NPN, ALPN, SNI, etc, are explicitly out of scope. This
package supports it all.

Why am I getting ``AttributeError``\ s for newer features?
------------------------------------------------------

Like the standard `ssl` module, certain attributes will not be available if your
OpenSSL does not support them. See `Installing OpenSSL`_ for instructions.

Installing OpenSSL
------------------

TODO
----

- Implement everything needed by urllib3.
- Monkey-patch ourselves into higher-level libraries like requests, without
getting clobbered by gevent.
- Backport and pass the standard Python `ssl` test suite.
- Use the bundled 3.x OpenSSL, if available and newer than the default.

.. _`PEP 466`: http://legacy.python.org/dev/peps/pep-0466

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

backports.ssl-0.0.1.tar.gz (6.2 kB view details)

Uploaded Source

File details

Details for the file backports.ssl-0.0.1.tar.gz.

File metadata

  • Download URL: backports.ssl-0.0.1.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for backports.ssl-0.0.1.tar.gz
Algorithm Hash digest
SHA256 410305194f78154b6a555a0017588651de6810cc336bacf12d64ea1241d2f99e
MD5 d3118405e2ced2dda82e03c78c7841a9
BLAKE2b-256 6191d62743599f875236997ed6c6a1288d899a06a47b90e596e658140eba1747

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page