Skip to main content

Python wrapper module around the OpenSSL library

Project description

Stable Docs Build status Test coverage

High-level wrapper around a subset of the OpenSSL library. Includes

  • SSL.Connection objects, wrapping the methods of Python’s portable sockets
  • Callbacks written in Python
  • Extensive error-handling mechanism, mirroring OpenSSL’s error codes

… and much more.

You can find more information in the documentation. Development takes place on GitHub.


If you run into bugs, you can file them in our issue tracker.

We maintain a cryptography-dev mailing list for both user and development discussions.

You can also join #cryptography-dev on Freenode to ask questions or get involved.

Release Information

17.0.0 (2017-04-20)

Backward-incompatible changes:





  • Added OpenSSL.X509Store.set_time() to set a custom verification time when verifying certificate chains. #567
  • Added a collection of functions for working with OCSP stapling. None of these functions make it possible to validate OCSP assertions, only to staple them into the handshake and to retrieve the stapled assertion if provided. Users will need to write their own code to handle OCSP assertions. We specifically added: Context.set_ocsp_server_callback, Context.set_ocsp_client_callback, and Connection.request_ocsp. #580
  • Changed the SSL module’s memory allocation policy to avoid zeroing memory it allocates when unnecessary. This reduces CPU usage and memory allocation time by an amount proportional to the size of the allocation. For applications that process a lot of TLS data or that use very lage allocations this can provide considerable performance improvements. #578
  • Automatically set SSL_CTX_set_ecdh_auto() on OpenSSL.SSL.Context. #575
  • Fix empty exceptions from OpenSSL.crypto.load_privatekey(). #581

Full changelog.

Download files

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

Files for pyOpenSSL, version 17.0.0
Filename, size File type Python version Upload date Hashes
Filename, size pyOpenSSL-17.0.0-py2.py3-none-any.whl (51.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pyOpenSSL-17.0.0.tar.gz (167.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page