Skip to main content
Stable Docs https://github.com/pyca/pyopenssl/workflows/CI/badge.svg?branch=main 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

22.0.0 (2022-01-29)

Backward-incompatible changes:

  • Drop support for Python 2.7. #1047

  • The minimum cryptography version is now 35.0.

Deprecations:

Changes:

  • Expose wrappers for some DTLS primitives. #1026

21.0.0 (2021-09-28)

Backward-incompatible changes:

  • The minimum cryptography version is now 3.3.

  • Drop support for Python 3.5

Deprecations:

Changes:

  • Raise an error when an invalid ALPN value is set. #993

  • Added OpenSSL.SSL.Context.set_min_proto_version and OpenSSL.SSL.Context.set_max_proto_version to set the minimum and maximum supported TLS version #985.

  • Updated to_cryptography and from_cryptography methods to support an upcoming release of cryptography without raising deprecation warnings. #1030

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.

Metadata

Release files for pyOpenSSL 22.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyOpenSSL 22.0.0
File Size Uploaded
pyOpenSSL-22.0.0.tar.gz 178.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyOpenSSL 22.0.0
File Interpreter ABI Platform
pyOpenSSL-22.0.0-py2.py3-none-any.whl Python 3, Python 2 none any Details

Total release size: 234.3 kB

Release files / pyOpenSSL-22.0.0.tar.gz

Download URL pyOpenSSL-22.0.0.tar.gz
Size 178.4 kB
Tags Source
SHA-256 checksum
How to use checksums
660b1b1425aac4a1bea1d94168a85d99f0b3144c869dd4390d27629d0087f1bf
BLAKE2b-256 checksum
How to use checksums
35d3d6a9610f19d943e198df502ae660c6b5acf84cc3bc421a2aa3c0fb6b21d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

Release files / pyOpenSSL-22.0.0-py2.py3-none-any.whl

Download URL pyOpenSSL-22.0.0-py2.py3-none-any.whl
Size 55.8 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
ea252b38c87425b64116f808355e8da644ef9b07e429398bfece610f893ee2e0
BLAKE2b-256 checksum
How to use checksums
d59f9c0e3288b85f907a008f9d31318b0e4de31b2f67724a8745e633741f609c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.1

Release history Release notifications | RSS feed

26.3.0

2 release files

26.1.0

2 release files

26.0.0

2 release files

25.3.0

2 release files

25.2.0

2 release files

25.1.0

2 release files

25.0.0

2 release files

24.3.0

2 release files

24.2.1

2 release files

24.0.0

2 release files

23.3.0

2 release files

23.2.0

2 release files

23.1.1

2 release files

23.1.0

2 release files

22.1.0

2 release files

This release

22.0.0 This release

2 release files

21.0.0

2 release files

20.0.1

2 release files

20.0.0

2 release files

19.1.0

2 release files

19.0.0

2 release files

18.0.0

2 release files

17.4.0

2 release files

17.3.0

2 release files

17.2.0

2 release files

17.1.0

2 release files

17.0.0

2 release files

16.2.0

2 release files

16.1.0

2 release files

16.0.0

2 release files

0.15.1

2 release files

0.15

2 release files

0.14

1 release file

0.13

15 release files

0.12

11 release files

0.11

0.10

9 release files

0.9

2 release files

0.8

1 release file

0.7

1 release file

0.6

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page