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:
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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| pyOpenSSL-22.0.0.tar.gz | 178.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|