Commit graph

182 commits

Author SHA1 Message Date
Jeremy Cline
e419312912
Update to cryptography v50.0.0 2026-08-06 09:03:37 -04:00
Python Maint
eb5d2157a7 Rebuilt for Python 3.15.0b4 ABI change 2026-07-22 10:00:42 +02:00
Fedora Release Engineering
fb18b2b4f0 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-16 18:53:55 +00:00
Jeremy Cline
b3af28773e
Update to v49.0.0
This update includes a few backwards-incompatible changes. Aside from a
few simple renames, the other incompatibilities are correctness-related.

* **BACKWARDS INCOMPATIBLE:** Removed the deprecated
  ``PUBLIC_KEY_TYPES``, ``PRIVATE_KEY_TYPES``,
  ``CERTIFICATE_PRIVATE_KEY_TYPES``, ``CERTIFICATE_ISSUER_PUBLIC_KEY_TYPES``,
  and ``CERTIFICATE_PUBLIC_KEY_TYPES`` type aliases. Use
  ``PublicKeyTypes``, ``PrivateKeyTypes``, ``CertificateIssuerPrivateKeyTypes``,
  ``CertificateIssuerPublicKeyTypes``, and ``CertificatePublicKeyTypes``
  instead. These were deprecated in version 40.0.
* **BACKWARDS INCOMPATIBLE:** :class:`~cryptography.hazmat.primitives.ciphers.algorithms.ChaCha20`
  now treats the first 4 bytes of the ``nonce`` as a 32-bit little-endian block
  counter (as defined in :rfc:`7539`) and tracks the number of bytes processed.
  Attempting to encrypt or decrypt more data than the counter allows before it
  would overflow now raises a :class:`ValueError` rather than silently diverging
  from RFC 7539. Setting the counter portion of the ``nonce`` to zero allows
  encrypting up to 256 GiB with a given nonce.
* **BACKWARDS INCOMPATIBLE:** Loading an X.509 certificate whose ECDSA or DSA
  signature ``AlgorithmIdentifier`` contains encoded NULL parameters now raises
  a :class:`ValueError`. Such certificates are invalid, but older versions of
  Java emitted them; previously they loaded with a deprecation warning.

Complete changelog: https://github.com/pyca/cryptography/blob/49.0.0/CHANGELOG.rst
2026-07-02 09:32:05 -04:00
Yaakov Selkowitz
94f0c3839f Rebuilt for openssl 4.0 2026-06-12 19:31:51 -04:00
Python Maint
57bd9e21b7 Rebuilt for Python 3.15 2026-06-04 10:09:10 +02:00
Python Maint
c39a1e035b Bootstrap for Python 3.15 2026-06-04 01:35:26 +02:00
Jeremy Cline
96d09f3c86
Update to v48.0.0
Full changelog: https://cryptography.io/en/latest/changelog/#v48-0-0

This contains one backwards-incompatible change, but which is in a
failure path where the previous behavior was unexpected.

 - BACKWARDS INCOMPATIBLE: Loading an X.509 CRL whose inner
   TBSCertList.signature algorithm does not match the outer
   signatureAlgorithm now raises ValueError. Previously, such CRLs were
   parsed successfully and only rejected during signature validation.

 - Added support for ML-KEM key encapsulation and ML-DSA signing when
   using OpenSSL 3.5.0 or later

Signed-off-by: Jeremy Cline <jeremycline@microsoft.com>
2026-05-05 07:49:03 -04:00
Jeremy Cline
83230a9fbf
Update to v47.0.0
Full changelog: https://cryptography.io/en/latest/changelog/#v47-0-0

This release includes a number of backwards-incompatible changes:

 - Support for binary elliptic curves (SECT* classes) has been removed.
   These curves are rarely used and have additional security
   considerations that make them undesirable.

 - Loading keys with unsupported algorithms or keys with unsupported
   explicit curve encodings now raises UnsupportedAlgorithm instead of
   ValueError. This change affects load_pem_private_key(),
   load_der_private_key(), load_pem_public_key(), load_der_public_key(),
   and public_key() when called on certificates with unsupported public
   key algorithms.

 - When parsing elliptic curve private keys, we now reject keys that
   incorrectly encode a private key of the wrong length because such
   keys are impossible to process in a constant-time manner. We do not
   believe keys with this problem are in wide use, however we may revert
   this change based on the feedback we receive.
2026-04-29 12:34:44 -04:00
Jeremy Cline
afdec09840
Update to 46.0.7
- SECURITY ISSUE: Fixed an issue where non-contiguous buffers could be
  passed to APIs that accept Python buffers, which could lead to buffer
  overflow. CVE-2026-39892
2026-04-08 08:34:21 -04:00
Jeremy Cline
a9ab9d1bf7
Update to v46.0.6
This includes a single fix for security issue:

* **SECURITY ISSUE**: Fixed a bug where name constraints were not applied
  to peer names during verification when the leaf certificate contains a
  wildcard DNS SAN. Ordinary X.509 topologies are not affected by this bug,
  including those used by the Web PKI. Credit to **Oleh Konko (1seal)** for
  reporting the issue. **CVE-2026-34073**
2026-03-26 16:01:22 -04:00
Jeremy Cline
09809af65a
Update to v46.0.5
Changelog (https://cryptography.io/en/latest/changelog/#v46-0-5)

 - An attacker could create a malicious public key that reveals portions
   of your private key when using certain uncommon elliptic curves
   (binary curves). This version now includes additional security checks
   to prevent this attack. This issue only affects binary elliptic
   curves, which are rarely used in real-world applications. Credit to
   **XlabAI Team of Tencent Xuanwu Lab and Atuin Automated Vulnerability
   Discovery Engine** for reporting the issue. **CVE-2026-26007**

 - Support for SECT binary elliptic curves is deprecated and will be
   removed in the next release.
2026-02-10 15:15:14 -05:00
Jeremy Cline
9b487e6f58
Update to v46.0.3
- Removed the deprecated get_attribute_for_oid method on
  CertificateSigningRequest. Users should use get_attribute_for_oid()
  instead.
- Removed the deprecated CAST5, SEED, IDEA, and Blowfish classes from
  the cipher module. These are still available in Decrepit cryptography.
- In X.509, when performing a PSS signature with a SHA-3 hash, it is now
  encoded with the official NIST SHA3 OID.
- Added support for free-threaded Python 3.14.
2026-01-22 09:31:01 -05:00
Fedora Release Engineering
ea52558095 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 06:58:17 +00:00
Peter Robinson
1a3a50b8d3 Drop pytz test req, only needed for py < 3.9
The pytz requirement now is only used for CI for py < 3.9:
pytz==2025.2 ; python_full_version < '3.9'

Also drop no longer valid comment snippet
2025-10-22 13:04:27 +01:00
Python Maint
5e1fd8e20d Rebuilt for Python 3.14.0rc3 bytecode 2025-09-19 13:05:04 +02:00
Python Maint
5e51185593 Rebuilt for Python 3.14.0rc2 bytecode 2025-08-15 13:32:38 +02:00
Fedora Release Engineering
22e34bf150 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 07:25:06 +00:00
Jeremy Cline
8034f94f77
Update to v45.0.4
The upstream release fixes a single issue:

- Fixed decrypting PKCS#8 files encrypted with SHA1-RC4. (This is not
  considered secure, and is supported only for backwards compatibility.)

Fixes rhbz #2371350
2025-06-11 09:31:07 -04:00
Python Maint
65da927d85 Rebuilt for Python 3.14 2025-06-04 18:30:16 +02:00
Python Maint
2fadd7bb9a Bootstrap for Python 3.14 2025-06-03 13:37:55 +02:00
Jeremy Cline
adc63ac786
Update to v45.0.3
This fixes two issues from v45:

  - Fixed decrypting PKCS#8 files encrypted with long salts (this impacts keys encrypted by Bouncy Castle).
  - Fixed decrypting PKCS#8 files encrypted with DES-CBC-MD5. While wildly insecure, this remains prevalent.
2025-05-25 12:49:30 -04:00
Jeremy Cline
f06f4c2804
Update to v45.0.2
This update includes two backwards-incompatible changes with v44:

  - Made SSH private key loading more consistent with other private key
    loading:
    :func:`~cryptography.hazmat.primitives.serialization.load_ssh_private_key`
    now raises a TypeError if the key is unencrypted but a password is
    provided (previously no exception was raised), and raises a
    TypeError if the key is encrypted but no password is provided
    (previously a ValueError was raised).
  - The :meth:`VerifiedClient.subject
    <cryptography.x509.verification.VerifiedClient.subjects>` property
    can now be None since a custom extension policy may allow
    certificates without a Subject Alternative Name extension.

Full changelog: https://github.com/pyca/cryptography/blob/45.0.2/CHANGELOG.rst
2025-05-19 10:55:53 -04:00
Yaakov Selkowitz
683f73c2b8 Modernize Rust macro usage
This adds automatically generated licensing data, and bundled provides for
vendored dependencies in the RHEL builds.
2025-03-06 14:29:08 -05:00
Yaakov Selkowitz
25b75b110c Do not delete tests/x509 on RHEL
tests/x509 now provides imports used by tests in other directories,
and no longer require pytz.
2025-03-03 23:22:02 -05:00
Fabio Valentini
606ff1ca7e
Rebuild for openssl crate >= v0.10.70 (RUSTSEC-2025-0004) 2025-02-06 13:47:30 +01:00
Jeremy Cline
78a1779124
Include fix to exclude Cargo.toml from wheels
Merged upstream at https://github.com/pyca/cryptography/pull/12091

[skip changelog]
2025-01-21 18:39:23 +00:00
Jeremy Cline
83987f70ef
Update to v44.0.0
This release is largely adding new features. One behavioral which might
cause issues is:

- Enforce the RFC 5280 requirement that extended key usage extensions must not be empty.

Complete changelog: https://github.com/pyca/cryptography/blob/44.0.0/CHANGELOG.rst
2025-01-21 15:51:57 +00:00
Fedora Release Engineering
bc4d913fc3 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-18 13:19:11 +00:00
Francisco Trivino
ed6d65f516 allow sha1 in OAEP
In FIPS mode, RSA OAEP padding is refused with an error message:
"This combination of padding and hash algorithm is not supported
by this backend."

It picks up the patch in https://github.com/pyca/cryptography/pull/11536
to allow sha1 in OAEP.

Fixes: https://github.com/pyca/cryptography/issues/11512
Related: https://issues.redhat.com/browse/RHEL-40210
Signed-off-by: Francisco Trivino <ftrivino@redhat.com>
2024-09-04 17:54:40 +02:00
Jeremy Cline
fdf62093b4
Flip off lock = true maturin config
Upstream switched to maturin in v43[0]. Since we fiddle with the
lockfile maturin wants to update it since upstream configures `lock =
true`. Turn that off.

This fixes the v43 build in rawhide.

[0] https://github.com/pyca/cryptography/pull/8815

[skip changelog]
2024-07-30 11:17:39 -04:00
Jeremy Cline
696a6afd84
Update to v43.0.0
Additionally, this builds the package with OPENSSL_NO_ENGINE=1

This drops the skip-overflow-tests-32bit.patch as its included in
v43.0.0. It picks up the patch in
https://github.com/pyca/cryptography/pull/11328 to allow building with
OPENSSL_NO_ENGINE=1.
2024-07-24 16:50:41 -04:00
Jeremy Cline
4dc6d7b0ba
Automatically apply all patches during autosetup
Commit 7b18e1445d ("Update to 41.0.3") introduces a patch that was
applied behind a conditional. This is no longer the case, so revert back
to letting autosetup apply all patches.

[skip changelog]
2024-07-24 16:45:52 -04:00
Fedora Release Engineering
bc9adfb4de Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-19 10:44:42 +00:00
Yaakov Selkowitz
cf26149d18 Remove unused pytest-subtests dependency
This dependency was switched out for a built-in miniature replacement as of
version 41.0.0:

22759dbab0
2024-07-12 10:57:13 -04:00
Yaakov Selkowitz
1483ac22f7 Skip benchmark tests on RHEL
This avoids dependencies on the otherwise unnecessary certifi and
pytest-benchmark.
2024-07-12 10:47:14 -04:00
Jeremy Cline
143d2e3463
Fix the build for ELN
PyO3 doesn't support Python 3.13 until 0.22, but cryptography 0.42 is
using 0.20 at the moment. Use ABI3 forward compatibility for ELN builds
until cryptography updates.

The Rawhide build is using crates from the distro which must be setting
this in some way, but I'm not familiar enough with PyO3 or Fedora's Rust
packaging to find it quickly.

Fixes rhbz#2295602
2024-07-03 14:43:42 -04:00
Miro Hrončok
4dcec288f2 Drop unneeded dependency on tox
There is no additional dependency generated by it, other than tox and tox-current-env.
There is no tox configuration in the source tarball.

If desired, there is a [test] extra, so we could use -x test instead,
but that would break the %if 0%{?fedora} tests dependencies separation.
2024-07-03 16:55:22 +00:00
Jeremy Cline
3d1bdaeb45
Switch to autorelease and autochangelog macros
I forgot to bump manually add a changelog entry for the 42.0.8 update.
Let's make that impossible in the future.

[skip changelog]
2024-07-03 10:27:54 -04:00
Jeremy Cline
cb16ef22f9
Update to 42.0.8, resolves RHBZ#2251816"
This reverts commit 2220bc3f08 and bumps
the version up from 42.0.5 to 42.0.8.

Additionally, a dependency on the openssl-devel-engine is necessary.
Longer-term this should be dropped[0].

[0] https://fedoraproject.org/wiki/Changes/OpensslDeprecateEngine

Co-authored-by: Christian Heimes <cheimes@redhat.com>
2024-07-03 09:25:42 -04:00
Python Maint
a7c29b32fa Rebuilt for Python 3.13 2024-06-08 08:13:50 +02:00
Python Maint
1eecfff494 Bootstrap for Python 3.13 2024-06-07 22:03:00 +02:00
Miro Hrončok
2220bc3f08 Revert "Update to 42.0.5, resolves RHBZ#2251816"
This reverts commit 2b20ce4281.
2024-05-28 13:29:39 +02:00
Christian Heimes
2b20ce4281 Update to 42.0.5, resolves RHBZ#2251816 2024-03-06 10:23:38 +01:00
Benjamin A. Beasley
fdff266e83 Update to 41.0.7, fixes rhbz#2255351, CVE-2023-49083 2024-02-01 10:48:14 -05:00
Fedora Release Engineering
cee9a5770d Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-26 02:54:42 +00:00
Fedora Release Engineering
1c91adf0cd Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-22 00:29:41 +00:00
Fabio Valentini
3f8bd894be
Rebuild for openssl crate >= v0.10.60 (RUSTSEC-2023-0044, RUSTSEC-2023-0072) 2023-12-01 16:14:04 +01:00
Christian Heimes
bee6bfddb5 Update to 41.0.5, resolves RHBZ#2239707 2023-10-26 17:20:09 +02:00
Christian Heimes
c8cc5d4cdc Build with ouroboros 0.17, fixes rhbz#2214228 / RUSTSEC-2023-0042 2023-08-14 07:24:10 +02:00