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.5.0 (2017-11-30)

Backward-incompatible changes:

  • The minimum cryptography version is now 2.1.4.




  • Fixed a potential use-after-free in the verify callback and resolved a memory leak when loading PKCS12 files with cacerts. #723
  • Added Connection.export_keying_material for RFC 5705 compatible export of keying material. #725

17.4.0 (2017-11-21)

Backward-incompatible changes:





  • Re-added a subset of the OpenSSL.rand module. This subset allows conscientious users to reseed the OpenSSL CSPRNG after fork. #708
  • Corrected a use-after-free when reusing an issuer or subject from an X509 object after the underlying object has been mutated. #709

17.3.0 (2017-09-14)

Backward-incompatible changes:

  • Dropped support for Python 3.3. #677
  • Removed the deprecated OpenSSL.rand module. This is being done ahead of our normal deprecation schedule due to its lack of use and the fact that it was becoming a maintenance burden. os.urandom() should be used instead. #675


  • Deprecated OpenSSL.tsafe. #673


  • Fixed a memory leak in OpenSSL.crypto.CRL. #690
  • Fixed a memory leak when verifying certificates with OpenSSL.crypto.X509StoreContext. #691

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.5.0
Filename, size File type Python version Upload date Hashes
Filename, size pyOpenSSL-17.5.0-py2.py3-none-any.whl (53.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View
Filename, size pyOpenSSL-17.5.0.tar.gz (170.9 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