* Fixed an issue with incorrect keyword-argument naming with EllipticCurvePrivateKey :meth:`~cryptography.hazmat.primitive s.asymmetric.ec.EllipticCurvePrivateKey.sign`. * Resolved compatibility issue with loading certain RSA public keys in :func:`~cryptography.hazmat.primitives.serialization. load_pem_public_key`. * BACKWARDS INCOMPATIBLE: Dropped support for LibreSSL < 3.7. * BACKWARDS INCOMPATIBLE: Loading a PKCS7 with no content field using :func:`~cryptography.hazmat.primitives.serialization.pk cs7.load_pem_pkcs7_certificates` or :func:`~cryptography.hazm at.primitives.serialization.pkcs7.load_der_pkcs7_certificates ` will now raise a ValueError rather than return an empty list. * Parsing SSH certificates no longer permits malformed critical options with values, as documented in the 41.0.2 release notes. * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.2.0. * Updated the minimum supported Rust version (MSRV) to 1.63.0, from 1.56.0. * We now publish both py37 and py39 abi3 wheels. This should resolve some errors relating to initializing a module multiple times per process. * Support :class:`~cryptography.hazmat.primitives.asymmetric.pa dding.PSS` for X.509 certificate signing requests and certificate revocation lists with the keyword-only argument rsa_padding on the sign methods for :class:`~cryptography.x509.CertificateSigningRequestBuilder` and OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-cryptography?expand=0&rev=205
301 lines
9.4 KiB
Diff
301 lines
9.4 KiB
Diff
---
|
|
pyproject.toml | 31 -------------------------
|
|
src/cryptography.egg-info/requires.txt | 2 -
|
|
tests/bench/test_aead.py | 40 ++++++++++++++++-----------------
|
|
tests/bench/test_ec_load.py | 8 +++---
|
|
tests/bench/test_hashes.py | 4 +--
|
|
tests/bench/test_hmac.py | 4 +--
|
|
tests/bench/test_x509.py | 16 ++++++-------
|
|
7 files changed, 37 insertions(+), 68 deletions(-)
|
|
|
|
Index: cryptography-42.0.1/pyproject.toml
|
|
===================================================================
|
|
--- cryptography-42.0.1.orig/pyproject.toml
|
|
+++ cryptography-42.0.1/pyproject.toml
|
|
@@ -71,8 +71,6 @@ ssh = ["bcrypt >=3.1.5"]
|
|
nox = ["nox"]
|
|
test = [
|
|
"pytest >=6.2.0",
|
|
- "pytest-benchmark",
|
|
- "pytest-cov",
|
|
"pytest-xdist",
|
|
"pretend",
|
|
"certifi",
|
|
@@ -92,7 +90,7 @@ rust-version = ">=1.63.0"
|
|
|
|
|
|
[tool.pytest.ini_options]
|
|
-addopts = "-r s --capture=no --strict-markers --benchmark-disable"
|
|
+addopts = "-r s --capture=no --strict-markers"
|
|
console_output_style = "progress-even-when-capture-no"
|
|
markers = [
|
|
"skip_fips: this test is not executed in FIPS mode",
|
|
@@ -114,33 +112,6 @@ module = [
|
|
]
|
|
ignore_missing_imports = true
|
|
|
|
-[tool.coverage.run]
|
|
-branch = true
|
|
-relative_files = true
|
|
-source = [
|
|
- "cryptography",
|
|
- "tests/",
|
|
-]
|
|
-
|
|
-[tool.coverage.paths]
|
|
-source = [
|
|
- "src/cryptography",
|
|
- "*.nox/*/lib*/python*/site-packages/cryptography",
|
|
- "*.nox\\*\\Lib\\site-packages\\cryptography",
|
|
- "*.nox/pypy/site-packages/cryptography",
|
|
-]
|
|
-tests =[
|
|
- "tests/",
|
|
- "*tests\\",
|
|
-]
|
|
-
|
|
-[tool.coverage.report]
|
|
-exclude_lines = [
|
|
- "@abc.abstractmethod",
|
|
- "@typing.overload",
|
|
- "if typing.TYPE_CHECKING",
|
|
-]
|
|
-
|
|
[tool.ruff]
|
|
ignore = ['N818']
|
|
select = ['E', 'F', 'I', 'N', 'W', 'UP', 'RUF']
|
|
Index: cryptography-42.0.1/src/cryptography.egg-info/requires.txt
|
|
===================================================================
|
|
--- cryptography-42.0.1.orig/src/cryptography.egg-info/requires.txt
|
|
+++ cryptography-42.0.1/src/cryptography.egg-info/requires.txt
|
|
@@ -28,8 +28,6 @@ bcrypt>=3.1.5
|
|
|
|
[test]
|
|
pytest>=6.2.0
|
|
-pytest-benchmark
|
|
-pytest-cov
|
|
pytest-xdist
|
|
pretend
|
|
certifi
|
|
Index: cryptography-42.0.1/tests/bench/test_aead.py
|
|
===================================================================
|
|
--- cryptography-42.0.1.orig/tests/bench/test_aead.py
|
|
+++ cryptography-42.0.1/tests/bench/test_aead.py
|
|
@@ -26,84 +26,84 @@ def _aead_supported(cls):
|
|
not _aead_supported(ChaCha20Poly1305),
|
|
reason="Requires OpenSSL with ChaCha20Poly1305 support",
|
|
)
|
|
-def test_chacha20poly1305_encrypt(benchmark):
|
|
+def test_chacha20poly1305_encrypt():
|
|
chacha = ChaCha20Poly1305(b"\x00" * 32)
|
|
- benchmark(chacha.encrypt, b"\x00" * 12, b"hello world plaintext", b"")
|
|
+ chacha.encrypt(b"\x00" * 12, b"hello world plaintext", b"")
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
not _aead_supported(ChaCha20Poly1305),
|
|
reason="Requires OpenSSL with ChaCha20Poly1305 support",
|
|
)
|
|
-def test_chacha20poly1305_decrypt(benchmark):
|
|
+def test_chacha20poly1305_decrypt():
|
|
chacha = ChaCha20Poly1305(b"\x00" * 32)
|
|
ct = chacha.encrypt(b"\x00" * 12, b"hello world plaintext", b"")
|
|
- benchmark(chacha.decrypt, b"\x00" * 12, ct, b"")
|
|
+ chacha.decrypt(b"\x00" * 12, ct, b"")
|
|
|
|
|
|
-def test_aesgcm_encrypt(benchmark):
|
|
+def test_aesgcm_encrypt():
|
|
aes = AESGCM(b"\x00" * 32)
|
|
- benchmark(aes.encrypt, b"\x00" * 12, b"hello world plaintext", None)
|
|
+ aes.encrypt(b"\x00" * 12, b"hello world plaintext", None)
|
|
|
|
|
|
-def test_aesgcm_decrypt(benchmark):
|
|
+def test_aesgcm_decrypt():
|
|
aes = AESGCM(b"\x00" * 32)
|
|
ct = aes.encrypt(b"\x00" * 12, b"hello world plaintext", None)
|
|
- benchmark(aes.decrypt, b"\x00" * 12, ct, None)
|
|
+ aes.decrypt(b"\x00" * 12, ct, None)
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
not _aead_supported(AESSIV),
|
|
reason="Requires OpenSSL with AES-SIV support",
|
|
)
|
|
-def test_aessiv_encrypt(benchmark):
|
|
+def test_aessiv_encrypt():
|
|
aes = AESSIV(b"\x00" * 32)
|
|
- benchmark(aes.encrypt, b"hello world plaintext", None)
|
|
+ aes.encrypt(b"hello world plaintext", None)
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
not _aead_supported(AESSIV),
|
|
reason="Requires OpenSSL with AES-SIV support",
|
|
)
|
|
-def test_aessiv_decrypt(benchmark):
|
|
+def test_aessiv_decrypt():
|
|
aes = AESSIV(b"\x00" * 32)
|
|
ct = aes.encrypt(b"hello world plaintext", None)
|
|
- benchmark(aes.decrypt, ct, None)
|
|
+ aes.decrypt(ct, None)
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
not _aead_supported(AESOCB3),
|
|
reason="Requires OpenSSL with AES-OCB3 support",
|
|
)
|
|
-def test_aesocb3_encrypt(benchmark):
|
|
+def test_aesocb3_encrypt():
|
|
aes = AESOCB3(b"\x00" * 32)
|
|
- benchmark(aes.encrypt, b"\x00" * 12, b"hello world plaintext", None)
|
|
+ aes.encrypt(b"\x00" * 12, b"hello world plaintext", None)
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
not _aead_supported(AESOCB3),
|
|
reason="Requires OpenSSL with AES-OCB3 support",
|
|
)
|
|
-def test_aesocb3_decrypt(benchmark):
|
|
+def test_aesocb3_decrypt():
|
|
aes = AESOCB3(b"\x00" * 32)
|
|
ct = aes.encrypt(b"\x00" * 12, b"hello world plaintext", None)
|
|
- benchmark(aes.decrypt, b"\x00" * 12, ct, None)
|
|
+ aes.decrypt(b"\x00" * 12, ct, None)
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
not _aead_supported(AESCCM),
|
|
reason="Requires OpenSSL with AES-CCM support",
|
|
)
|
|
-def test_aesccm_encrypt(benchmark):
|
|
+def test_aesccm_encrypt():
|
|
aes = AESCCM(b"\x00" * 32)
|
|
- benchmark(aes.encrypt, b"\x00" * 12, b"hello world plaintext", None)
|
|
+ aes.encrypt(b"\x00" * 12, b"hello world plaintext", None)
|
|
|
|
|
|
@pytest.mark.skipif(
|
|
not _aead_supported(AESCCM),
|
|
reason="Requires OpenSSL with AES-CCM support",
|
|
)
|
|
-def test_aesccm_decrypt(benchmark):
|
|
+def test_aesccm_decrypt():
|
|
aes = AESCCM(b"\x00" * 32)
|
|
ct = aes.encrypt(b"\x00" * 12, b"hello world plaintext", None)
|
|
- benchmark(aes.decrypt, b"\x00" * 12, ct, None)
|
|
+ aes.decrypt(b"\x00" * 12, ct, None)
|
|
Index: cryptography-42.0.1/tests/bench/test_ec_load.py
|
|
===================================================================
|
|
--- cryptography-42.0.1.orig/tests/bench/test_ec_load.py
|
|
+++ cryptography-42.0.1/tests/bench/test_ec_load.py
|
|
@@ -5,9 +5,9 @@
|
|
from ..hazmat.primitives.fixtures_ec import EC_KEY_SECP256R1
|
|
|
|
|
|
-def test_load_ec_public_numbers(benchmark):
|
|
- benchmark(EC_KEY_SECP256R1.public_numbers.public_key)
|
|
+def test_load_ec_public_numbers():
|
|
+ EC_KEY_SECP256R1.public_numbers.public_key()
|
|
|
|
|
|
-def test_load_ec_private_numbers(benchmark):
|
|
- benchmark(EC_KEY_SECP256R1.private_key)
|
|
+def test_load_ec_private_numbers():
|
|
+ EC_KEY_SECP256R1.private_key()
|
|
Index: cryptography-42.0.1/tests/bench/test_hashes.py
|
|
===================================================================
|
|
--- cryptography-42.0.1.orig/tests/bench/test_hashes.py
|
|
+++ cryptography-42.0.1/tests/bench/test_hashes.py
|
|
@@ -5,10 +5,10 @@
|
|
from cryptography.hazmat.primitives import hashes
|
|
|
|
|
|
-def test_sha256(benchmark):
|
|
+def test_sha256():
|
|
def bench():
|
|
h = hashes.Hash(hashes.SHA256())
|
|
h.update(b"I love hashing. So much. The best.")
|
|
return h.finalize()
|
|
|
|
- benchmark(bench)
|
|
+ bench()
|
|
Index: cryptography-42.0.1/tests/bench/test_hmac.py
|
|
===================================================================
|
|
--- cryptography-42.0.1.orig/tests/bench/test_hmac.py
|
|
+++ cryptography-42.0.1/tests/bench/test_hmac.py
|
|
@@ -5,10 +5,10 @@
|
|
from cryptography.hazmat.primitives import hashes, hmac
|
|
|
|
|
|
-def test_hmac_sha256(benchmark):
|
|
+def test_hmac_sha256():
|
|
def bench():
|
|
h = hmac.HMAC(b"my extremely secure key", hashes.SHA256())
|
|
h.update(b"I love hashing. So much. The best.")
|
|
return h.finalize()
|
|
|
|
- benchmark(bench)
|
|
+ bench()
|
|
Index: cryptography-42.0.1/tests/bench/test_x509.py
|
|
===================================================================
|
|
--- cryptography-42.0.1.orig/tests/bench/test_x509.py
|
|
+++ cryptography-42.0.1/tests/bench/test_x509.py
|
|
@@ -13,40 +13,40 @@ from cryptography import x509
|
|
from ..utils import load_vectors_from_file
|
|
|
|
|
|
-def test_object_identifier_constructor(benchmark):
|
|
- benchmark(x509.ObjectIdentifier, "1.3.6.1.4.1.11129.2.4.5")
|
|
+def test_object_identifier_constructor():
|
|
+ x509.ObjectIdentifier, "1.3.6.1.4.1.11129.2.4.5"
|
|
|
|
|
|
-def test_aki_public_bytes(benchmark):
|
|
+def test_aki_public_bytes():
|
|
aki = x509.AuthorityKeyIdentifier(
|
|
key_identifier=b"\x00" * 16,
|
|
authority_cert_issuer=None,
|
|
authority_cert_serial_number=None,
|
|
)
|
|
- benchmark(aki.public_bytes)
|
|
+ aki.public_bytes
|
|
|
|
|
|
-def test_load_der_certificate(benchmark):
|
|
+def test_load_der_certificate():
|
|
cert_bytes = load_vectors_from_file(
|
|
os.path.join("x509", "PKITS_data", "certs", "GoodCACert.crt"),
|
|
loader=lambda pemfile: pemfile.read(),
|
|
mode="rb",
|
|
)
|
|
|
|
- benchmark(x509.load_der_x509_certificate, cert_bytes)
|
|
+ x509.load_der_x509_certificate, cert_bytes
|
|
|
|
|
|
-def test_load_pem_certificate(benchmark):
|
|
+def test_load_pem_certificate():
|
|
cert_bytes = load_vectors_from_file(
|
|
os.path.join("x509", "cryptography.io.pem"),
|
|
loader=lambda pemfile: pemfile.read(),
|
|
mode="rb",
|
|
)
|
|
|
|
- benchmark(x509.load_pem_x509_certificate, cert_bytes)
|
|
+ x509.load_pem_x509_certificate, cert_bytes
|
|
|
|
|
|
-def test_verify_docs_python_org(benchmark, pytestconfig):
|
|
+def test_verify_docs_python_org(pytestconfig):
|
|
limbo_root = pytestconfig.getoption("--x509-limbo-root", skip=True)
|
|
with open(os.path.join(limbo_root, "limbo.json"), "rb") as f:
|
|
[testcase] = [
|
|
@@ -78,4 +78,4 @@ def test_verify_docs_python_org(benchmar
|
|
)
|
|
verifier.verify(leaf, intermediates)
|
|
|
|
- benchmark(bench)
|
|
+ bench
|