pyOpenSSL 24.2.1__tar.gz → 24.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/CHANGELOG.rst +25 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/INSTALL.rst +0 -5
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/MANIFEST.in +1 -1
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/PKG-INFO +28 -6
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/README.rst +0 -4
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/api/crypto.rst +3 -33
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/api/ssl.rst +0 -10
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/conf.py +6 -5
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/pyproject.toml +7 -2
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/setup.py +2 -1
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/OpenSSL/SSL.py +365 -182
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/OpenSSL/_util.py +5 -3
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/OpenSSL/crypto.py +162 -745
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/OpenSSL/rand.py +8 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/OpenSSL/version.py +1 -1
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/pyOpenSSL.egg-info/PKG-INFO +28 -6
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/pyOpenSSL.egg-info/SOURCES.txt +0 -1
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/pyOpenSSL.egg-info/requires.txt +1 -1
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tests/test_crypto.py +56 -608
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tests/test_ssl.py +165 -102
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tox.ini +1 -10
- pyopenssl-24.2.1/tests/memdbg.py +0 -89
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/CODE_OF_CONDUCT.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/CONTRIBUTING.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/LICENSE +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/ChangeLog_old.txt +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/Makefile +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/Quotes +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/README +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/api.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/backward-compatibility.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/changelog.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/images/pyopenssl-brand.png +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/images/pyopenssl-icon.png +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/images/pyopenssl-logo.png +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/images/pyopenssl.svg +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/index.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/install.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/internals.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/introduction.rst +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/doc/make.bat +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/setup.cfg +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/OpenSSL/__init__.py +1 -1
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/OpenSSL/debug.py +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/OpenSSL/py.typed +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/pyOpenSSL.egg-info/dependency_links.txt +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/src/pyOpenSSL.egg-info/top_level.txt +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tests/__init__.py +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tests/conftest.py +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tests/test_debug.py +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tests/test_rand.py +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tests/test_util.py +0 -0
- {pyopenssl-24.2.1 → pyopenssl-24.3.0}/tests/util.py +0 -0
|
@@ -4,6 +4,31 @@ Changelog
|
|
|
4
4
|
Versions are year-based with a strict backward-compatibility policy.
|
|
5
5
|
The third digit is only for regressions.
|
|
6
6
|
|
|
7
|
+
24.3.0 (2024-11-27)
|
|
8
|
+
-------------------
|
|
9
|
+
|
|
10
|
+
Backward-incompatible changes:
|
|
11
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
12
|
+
|
|
13
|
+
- Removed the deprecated ``OpenSSL.crypto.CRL``, ``OpenSSL.crypto.Revoked``, ``OpenSSL.crypto.dump_crl``, and ``OpenSSL.crypto.load_crl``. ``cryptography.x509``'s CRL functionality should be used instead.
|
|
14
|
+
- Removed the deprecated ``OpenSSL.crypto.sign`` and ``OpenSSL.crypto.verify``. ``cryptography.hazmat.primitives.asymmetric``'s signature APIs should be used instead.
|
|
15
|
+
|
|
16
|
+
Deprecations:
|
|
17
|
+
^^^^^^^^^^^^^
|
|
18
|
+
|
|
19
|
+
- Deprecated ``OpenSSL.rand`` - callers should use ``os.urandom()`` instead.
|
|
20
|
+
- Deprecated ``add_extensions`` and ``get_extensions`` on ``OpenSSL.crypto.X509Req`` and ``OpenSSL.crypto.X509``. These should have been deprecated at the same time ``X509Extension`` was. Users should use pyca/cryptography's X.509 APIs instead.
|
|
21
|
+
- Deprecated ``OpenSSL.crypto.get_elliptic_curves`` and ``OpenSSL.crypto.get_elliptic_curve``, as well as passing the reult of them to ``OpenSSL.SSL.Context.set_tmp_ecdh``, users should instead pass curves from ``cryptography``.
|
|
22
|
+
- Deprecated passing ``X509`` objects to ``OpenSSL.SSL.Context.use_certificate``, ``OpenSSL.SSL.Connection.use_certificate``, ``OpenSSL.SSL.Context.add_extra_chain_cert``, and ``OpenSSL.SSL.Context.add_client_ca``, users should instead pass ``cryptography.x509.Certificate`` instances. This is in preparation for deprecating pyOpenSSL's ``X509`` entirely.
|
|
23
|
+
- Deprecated passing ``PKey`` objects to ``OpenSSL.SSL.Context.use_privatekey`` and ``OpenSSL.SSL.Connection.use_privatekey``, users should instead pass ``cryptography`` priate key instances. This is in preparation for deprecating pyOpenSSL's ``PKey`` entirely.
|
|
24
|
+
|
|
25
|
+
Changes:
|
|
26
|
+
^^^^^^^^
|
|
27
|
+
|
|
28
|
+
* ``cryptography`` maximum version has been increased to 44.0.x.
|
|
29
|
+
* ``OpenSSL.SSL.Connection.get_certificate``, ``OpenSSL.SSL.Connection.get_peer_certificate``, ``OpenSSL.SSL.Connection.get_peer_cert_chain``, and ``OpenSSL.SSL.Connection.get_verified_chain`` now take an ``as_cryptography`` keyword-argument. When ``True`` is passed then ``cryptography.x509.Certificate`` are returned, instead of ``OpenSSL.crypto.X509``. In the future, passing ``False`` (the default) will be deprecated.
|
|
30
|
+
|
|
31
|
+
|
|
7
32
|
24.2.1 (2024-07-20)
|
|
8
33
|
-------------------
|
|
9
34
|
|
|
@@ -23,11 +23,6 @@ Supported OpenSSL Versions
|
|
|
23
23
|
--------------------------
|
|
24
24
|
|
|
25
25
|
pyOpenSSL supports the same platforms and releases as the upstream cryptography project `does <https://cryptography.io/en/latest/installation/#supported-platforms>`_.
|
|
26
|
-
Currently that means:
|
|
27
|
-
|
|
28
|
-
- 1.1.0
|
|
29
|
-
- 1.1.1
|
|
30
|
-
- 3.0
|
|
31
26
|
|
|
32
27
|
You can always find out the versions of pyOpenSSL, cryptography, and the linked OpenSSL by running ``python -m OpenSSL.debug``.
|
|
33
28
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyOpenSSL
|
|
3
|
-
Version: 24.
|
|
3
|
+
Version: 24.3.0
|
|
4
4
|
Summary: Python wrapper module around the OpenSSL library
|
|
5
5
|
Home-page: https://pyopenssl.org/
|
|
6
6
|
Author: The pyOpenSSL developers
|
|
@@ -20,6 +20,7 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
20
20
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
23
24
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
24
25
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
25
26
|
Classifier: Topic :: Security :: Cryptography
|
|
@@ -27,7 +28,7 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
27
28
|
Classifier: Topic :: System :: Networking
|
|
28
29
|
Requires-Python: >=3.7
|
|
29
30
|
License-File: LICENSE
|
|
30
|
-
Requires-Dist: cryptography<
|
|
31
|
+
Requires-Dist: cryptography<45,>=41.0.5
|
|
31
32
|
Provides-Extra: test
|
|
32
33
|
Requires-Dist: pytest-rerunfailures; extra == "test"
|
|
33
34
|
Requires-Dist: pretend; extra == "test"
|
|
@@ -47,10 +48,6 @@ pyOpenSSL -- A Python wrapper around the OpenSSL library
|
|
|
47
48
|
.. image:: https://github.com/pyca/pyopenssl/workflows/CI/badge.svg?branch=main
|
|
48
49
|
:target: https://github.com/pyca/pyopenssl/actions?query=workflow%3ACI+branch%3Amain
|
|
49
50
|
|
|
50
|
-
.. image:: https://codecov.io/github/pyca/pyopenssl/branch/main/graph/badge.svg
|
|
51
|
-
:target: https://codecov.io/github/pyca/pyopenssl
|
|
52
|
-
:alt: Test coverage
|
|
53
|
-
|
|
54
51
|
**Note:** The Python Cryptographic Authority **strongly suggests** the use of `pyca/cryptography`_
|
|
55
52
|
where possible. If you are using pyOpenSSL for anything other than making a TLS connection
|
|
56
53
|
**you should move to cryptography and drop your pyOpenSSL dependency**.
|
|
@@ -87,6 +84,31 @@ You can also join ``#pyca`` on ``irc.libera.chat`` to ask questions or get invol
|
|
|
87
84
|
Release Information
|
|
88
85
|
===================
|
|
89
86
|
|
|
87
|
+
24.3.0 (2024-11-27)
|
|
88
|
+
-------------------
|
|
89
|
+
|
|
90
|
+
Backward-incompatible changes:
|
|
91
|
+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
92
|
+
|
|
93
|
+
- Removed the deprecated ``OpenSSL.crypto.CRL``, ``OpenSSL.crypto.Revoked``, ``OpenSSL.crypto.dump_crl``, and ``OpenSSL.crypto.load_crl``. ``cryptography.x509``'s CRL functionality should be used instead.
|
|
94
|
+
- Removed the deprecated ``OpenSSL.crypto.sign`` and ``OpenSSL.crypto.verify``. ``cryptography.hazmat.primitives.asymmetric``'s signature APIs should be used instead.
|
|
95
|
+
|
|
96
|
+
Deprecations:
|
|
97
|
+
^^^^^^^^^^^^^
|
|
98
|
+
|
|
99
|
+
- Deprecated ``OpenSSL.rand`` - callers should use ``os.urandom()`` instead.
|
|
100
|
+
- Deprecated ``add_extensions`` and ``get_extensions`` on ``OpenSSL.crypto.X509Req`` and ``OpenSSL.crypto.X509``. These should have been deprecated at the same time ``X509Extension`` was. Users should use pyca/cryptography's X.509 APIs instead.
|
|
101
|
+
- Deprecated ``OpenSSL.crypto.get_elliptic_curves`` and ``OpenSSL.crypto.get_elliptic_curve``, as well as passing the reult of them to ``OpenSSL.SSL.Context.set_tmp_ecdh``, users should instead pass curves from ``cryptography``.
|
|
102
|
+
- Deprecated passing ``X509`` objects to ``OpenSSL.SSL.Context.use_certificate``, ``OpenSSL.SSL.Connection.use_certificate``, ``OpenSSL.SSL.Context.add_extra_chain_cert``, and ``OpenSSL.SSL.Context.add_client_ca``, users should instead pass ``cryptography.x509.Certificate`` instances. This is in preparation for deprecating pyOpenSSL's ``X509`` entirely.
|
|
103
|
+
- Deprecated passing ``PKey`` objects to ``OpenSSL.SSL.Context.use_privatekey`` and ``OpenSSL.SSL.Connection.use_privatekey``, users should instead pass ``cryptography`` priate key instances. This is in preparation for deprecating pyOpenSSL's ``PKey`` entirely.
|
|
104
|
+
|
|
105
|
+
Changes:
|
|
106
|
+
^^^^^^^^
|
|
107
|
+
|
|
108
|
+
* ``cryptography`` maximum version has been increased to 44.0.x.
|
|
109
|
+
* ``OpenSSL.SSL.Connection.get_certificate``, ``OpenSSL.SSL.Connection.get_peer_certificate``, ``OpenSSL.SSL.Connection.get_peer_cert_chain``, and ``OpenSSL.SSL.Connection.get_verified_chain`` now take an ``as_cryptography`` keyword-argument. When ``True`` is passed then ``cryptography.x509.Certificate`` are returned, instead of ``OpenSSL.crypto.X509``. In the future, passing ``False`` (the default) will be deprecated.
|
|
110
|
+
|
|
111
|
+
|
|
90
112
|
24.2.1 (2024-07-20)
|
|
91
113
|
-------------------
|
|
92
114
|
|
|
@@ -9,10 +9,6 @@ pyOpenSSL -- A Python wrapper around the OpenSSL library
|
|
|
9
9
|
.. image:: https://github.com/pyca/pyopenssl/workflows/CI/badge.svg?branch=main
|
|
10
10
|
:target: https://github.com/pyca/pyopenssl/actions?query=workflow%3ACI+branch%3Amain
|
|
11
11
|
|
|
12
|
-
.. image:: https://codecov.io/github/pyca/pyopenssl/branch/main/graph/badge.svg
|
|
13
|
-
:target: https://codecov.io/github/pyca/pyopenssl
|
|
14
|
-
:alt: Test coverage
|
|
15
|
-
|
|
16
12
|
**Note:** The Python Cryptographic Authority **strongly suggests** the use of `pyca/cryptography`_
|
|
17
13
|
where possible. If you are using pyOpenSSL for anything other than making a TLS connection
|
|
18
14
|
**you should move to cryptography and drop your pyOpenSSL dependency**.
|
|
@@ -6,7 +6,9 @@
|
|
|
6
6
|
.. py:module:: OpenSSL.crypto
|
|
7
7
|
:synopsis: Generic cryptographic module
|
|
8
8
|
|
|
9
|
-
..
|
|
9
|
+
.. danger::
|
|
10
|
+
|
|
11
|
+
**This module is pending deprecation, use pyca/cryptography instead.**
|
|
10
12
|
|
|
11
13
|
`pyca/cryptography`_ is likely a better choice than using this module.
|
|
12
14
|
It contains a complete set of cryptographic primitives as well as a significantly better and more powerful X509 API.
|
|
@@ -61,20 +63,6 @@ Public keys
|
|
|
61
63
|
|
|
62
64
|
.. autofunction:: load_publickey
|
|
63
65
|
|
|
64
|
-
Certificate revocation lists
|
|
65
|
-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
66
|
-
|
|
67
|
-
.. autofunction:: dump_crl
|
|
68
|
-
|
|
69
|
-
.. autofunction:: load_crl
|
|
70
|
-
|
|
71
|
-
Signing and verifying signatures
|
|
72
|
-
--------------------------------
|
|
73
|
-
|
|
74
|
-
.. autofunction:: sign
|
|
75
|
-
|
|
76
|
-
.. autofunction:: verify
|
|
77
|
-
|
|
78
66
|
|
|
79
67
|
.. _openssl-x509:
|
|
80
68
|
|
|
@@ -170,24 +158,6 @@ X509Extension objects
|
|
|
170
158
|
:special-members:
|
|
171
159
|
:exclude-members: __weakref__
|
|
172
160
|
|
|
173
|
-
.. _crl:
|
|
174
|
-
|
|
175
|
-
CRL objects
|
|
176
|
-
-----------
|
|
177
|
-
|
|
178
|
-
.. autoclass:: CRL
|
|
179
|
-
:members:
|
|
180
|
-
:special-members:
|
|
181
|
-
:exclude-members: __weakref__
|
|
182
|
-
|
|
183
|
-
.. _revoked:
|
|
184
|
-
|
|
185
|
-
Revoked objects
|
|
186
|
-
---------------
|
|
187
|
-
|
|
188
|
-
.. autoclass:: Revoked
|
|
189
|
-
:members:
|
|
190
|
-
|
|
191
161
|
Exceptions
|
|
192
162
|
----------
|
|
193
163
|
|
|
@@ -150,22 +150,12 @@ Context, Connection.
|
|
|
150
150
|
.. autofunction:: OpenSSL_version
|
|
151
151
|
|
|
152
152
|
|
|
153
|
-
.. py:data:: ContextType
|
|
154
|
-
|
|
155
|
-
See :py:class:`Context`.
|
|
156
|
-
|
|
157
|
-
|
|
158
153
|
.. autoclass:: Context
|
|
159
154
|
:noindex:
|
|
160
155
|
|
|
161
156
|
.. autoclass:: Session
|
|
162
157
|
|
|
163
158
|
|
|
164
|
-
.. py:data:: ConnectionType
|
|
165
|
-
|
|
166
|
-
See :py:class:`Connection`.
|
|
167
|
-
|
|
168
|
-
|
|
169
159
|
.. py:class:: Connection(context, socket)
|
|
170
160
|
:noindex:
|
|
171
161
|
|
|
@@ -122,13 +122,14 @@ pygments_style = "sphinx"
|
|
|
122
122
|
|
|
123
123
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
124
124
|
# a list of builtin themes.
|
|
125
|
-
|
|
125
|
+
if os.environ.get("READTHEDOCS", None) == "True":
|
|
126
|
+
html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "")
|
|
126
127
|
|
|
127
|
-
if not
|
|
128
|
-
|
|
128
|
+
if "html_context" not in globals():
|
|
129
|
+
html_context = {}
|
|
130
|
+
html_context["READTHEDOCS"] = True
|
|
129
131
|
|
|
130
|
-
|
|
131
|
-
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
|
|
132
|
+
html_theme = "sphinx_rtd_theme"
|
|
132
133
|
|
|
133
134
|
# Theme options are theme-specific and customize the look and feel of a theme
|
|
134
135
|
# further. For a list of options available for each theme, see the
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
[tool.coverage.run]
|
|
2
2
|
branch = true
|
|
3
|
+
relative_files = true
|
|
3
4
|
source = ["OpenSSL", "tests/"]
|
|
4
5
|
|
|
5
6
|
[tool.coverage.paths]
|
|
6
7
|
source = [
|
|
7
8
|
"src/OpenSSL",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
9
|
+
"*.tox/*/lib/python*/site-packages/OpenSSL",
|
|
10
|
+
"*.tox/*/lib/pypy*/site-packages/OpenSSL",
|
|
11
|
+
"*.tox/pypy/site-packages/OpenSSL",
|
|
12
|
+
"*.tox\\*\\Lib\\site-packages\\OpenSSL",
|
|
10
13
|
]
|
|
11
14
|
|
|
12
15
|
[tool.coverage.report]
|
|
@@ -39,6 +42,8 @@ testpaths = ["tests"]
|
|
|
39
42
|
[tool.ruff]
|
|
40
43
|
lint.select = ['E', 'F', 'I', 'W', 'UP', 'RUF']
|
|
41
44
|
line-length = 79
|
|
45
|
+
# Remove if/when we move setup.py python-requires metadata to pyproject.toml
|
|
46
|
+
target-version = "py37"
|
|
42
47
|
|
|
43
48
|
[tool.ruff.lint.isort]
|
|
44
49
|
known-first-party = ["OpenSSL", "tests"]
|
|
@@ -83,6 +83,7 @@ if __name__ == "__main__":
|
|
|
83
83
|
"Programming Language :: Python :: 3.10",
|
|
84
84
|
"Programming Language :: Python :: 3.11",
|
|
85
85
|
"Programming Language :: Python :: 3.12",
|
|
86
|
+
"Programming Language :: Python :: 3.13",
|
|
86
87
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
87
88
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
88
89
|
"Topic :: Security :: Cryptography",
|
|
@@ -93,7 +94,7 @@ if __name__ == "__main__":
|
|
|
93
94
|
packages=find_packages(where="src"),
|
|
94
95
|
package_dir={"": "src"},
|
|
95
96
|
install_requires=[
|
|
96
|
-
"cryptography>=41.0.5,<
|
|
97
|
+
"cryptography>=41.0.5,<45",
|
|
97
98
|
],
|
|
98
99
|
extras_require={
|
|
99
100
|
"test": ["pytest-rerunfailures", "pretend", "pytest>=3.0.1"],
|