Skip to main content

Python wrapper module around the OpenSSL library

Project description

Stable Docs Build status Test coverage

Note: The Python Cryptographic Authority strongly suggests the use of pyca/cryptography where possible. If you are using pyOpenSSL for anything other than making a TLS connection you should move to cryptography and drop your pyOpenSSL dependency.

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.

Discussion

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

20.0.1 (2020-12-15)

Backward-incompatible changes:

Deprecations:

Changes:

  • Fixed compatibility with OpenSSL 1.1.0.

20.0.0 (2020-11-27)

Backward-incompatible changes:

  • The minimum cryptography version is now 3.2.

  • Remove deprecated OpenSSL.tsafe module.

  • Removed deprecated OpenSSL.SSL.Context.set_npn_advertise_callback, OpenSSL.SSL.Context.set_npn_select_callback, and OpenSSL.SSL.Connection.get_next_proto_negotiated.

  • Drop support for Python 3.4

  • Drop support for OpenSSL 1.0.1 and 1.0.2

Deprecations:

  • Deprecated OpenSSL.crypto.loads_pkcs7 and OpenSSL.crypto.loads_pkcs12.

Changes:

  • Added a new optional chain parameter to OpenSSL.crypto.X509StoreContext() where additional untrusted certificates can be specified to help chain building. #948

  • Added OpenSSL.crypto.X509Store.load_locations to set trusted certificate file bundles and/or directories for verification. #943

  • Added Context.set_keylog_callback to log key material. #910

  • Added OpenSSL.SSL.Connection.get_verified_chain to retrieve the verified certificate chain of the peer. #894.

  • Make verification callback optional in Context.set_verify. If omitted, OpenSSL’s default verification is used. #933

  • Fixed a bug that could truncate or cause a zero-length key error due to a null byte in private key passphrase in OpenSSL.crypto.load_privatekey and OpenSSL.crypto.dump_privatekey. #947

19.1.0 (2019-11-18)

Backward-incompatible changes:

  • Removed deprecated ContextType, ConnectionType, PKeyType, X509NameType, X509ReqType, X509Type, X509StoreType, CRLType, PKCS7Type, PKCS12Type, and NetscapeSPKIType aliases. Use the classes without the Type suffix instead. #814

  • The minimum cryptography version is now 2.8 due to issues on macOS with a transitive dependency. #875

Deprecations:

  • Deprecated OpenSSL.SSL.Context.set_npn_advertise_callback, OpenSSL.SSL.Context.set_npn_select_callback, and OpenSSL.SSL.Connection.get_next_proto_negotiated. ALPN should be used instead. #820

Changes:

  • Support bytearray in SSL.Connection.send() by using cffi’s from_buffer. #852

  • The OpenSSL.SSL.Context.set_alpn_select_callback can return a new NO_OVERLAPPING_PROTOCOLS sentinel value to allow a TLS handshake to complete without an application protocol.

Full changelog.

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

pyOpenSSL-20.0.1.tar.gz (173.7 kB view details)

Uploaded Source

Built Distribution

pyOpenSSL-20.0.1-py2.py3-none-any.whl (54.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyOpenSSL-20.0.1.tar.gz.

File metadata

  • Download URL: pyOpenSSL-20.0.1.tar.gz
  • Upload date:
  • Size: 173.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3

File hashes

Hashes for pyOpenSSL-20.0.1.tar.gz
Algorithm Hash digest
SHA256 4c231c759543ba02560fcd2480c48dcec4dae34c9da7d3747c508227e0624b51
MD5 40f81b5faf059e89ab4377ec5554bd5e
BLAKE2b-256 98cdcbc9c152daba9b5de6094a185c66f1c6eb91c507f378bb7cad83d623ea88

See more details on using hashes here.

Provenance

File details

Details for the file pyOpenSSL-20.0.1-py2.py3-none-any.whl.

File metadata

  • Download URL: pyOpenSSL-20.0.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 54.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.8.3

File hashes

Hashes for pyOpenSSL-20.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 818ae18e06922c066f777a33f1fca45786d85edfe71cd043de6379337a7f274b
MD5 f879ef152818a28d79ded1c7cf600e20
BLAKE2b-256 b25e06351ede29fd4899782ad335c2e02f1f862a887c20a3541f17c3fa1a3525

See more details on using hashes here.

Provenance

Supported by

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