Skip to content

chore!: Bump dependencies, including the RustCrypto stack - #1315

Merged
sbernauer merged 8 commits into
mainfrom
chore/rsa-crypto-bump
Oct 27, 2026
Merged

sbernauer merged 8 commits into
mainfrom
chore/rsa-crypto-bump

Conversation

@sbernauer

@sbernauer sbernauer commented Oct 26, 2026 •

Copy link
Copy Markdown
Member

Description

Bump the RustCrypto crates together to their new generation (x509-cert 0.3, rsa 0.10.0-rc.19, ecdsa 0.17, p256 0.14, sha2 0.11, signature 3, const-oid 0.10, rand_core 0.10), alongside semver-compatible bumps.

  • Fixes RUSTSEC-2026-0387
  • Pin rsa exactly, as release candidates can contain breaking changes.
  • x509-cert 0.3 removed the Root and Leaf builder profiles. Port them to stackable-certs, so generated certificates stay unchanged apart from the extension order. Mark ExtendedKeyUsage as critical explicitly, as x509-cert no longer does so by default.
  • Replace OsRng with UnwrapErr(SysRng) and raise the RSA test key size to 1024 bits, the new minimum.
  • Use accessors for the now private x509-cert certificate fields.
  • Hex-encode the sha2 digest manually in ensure_max_string_length, as it no longer implements LowerHex.
  • Add FIXMEs for the infinitely recursing catch-all arms of the custom PartialEq impls in stackable-certs.

Definition of Done Checklist

  • Not all of these items are applicable to all PRs, the author should update this template to only leave the boxes in that are relevant
  • Please make sure all these things are done and tick the boxes

Author

  • Changes are OpenShift compatible
  • CRD changes approved
  • CRD documentation for all fields, following the style guide.
  • Integration tests passed (for non trivial changes)
  • Changes need to be "offline" compatible

Reviewer

  • Code contains useful comments
  • Code contains useful logging statements
  • (Integration-)Test cases added
  • Documentation added or updated. Follows the style guide.
  • Changelog updated
  • Cargo.toml only contains references to git tags (not specific commits or branches)

Acceptance

  • Feature Tracker has been updated
  • Proper release label has been added

Bump the RustCrypto crates together to their new generation (x509-cert
0.3, rsa 0.10.0-rc.19, ecdsa 0.17, p256 0.14, sha2 0.11, signature 3,
const-oid 0.10, rand_core 0.10), alongside semver-compatible bumps.

- Pin rsa exactly, as release candidates can contain breaking changes.
- x509-cert 0.3 removed the Root and Leaf builder profiles. Port them to
  stackable-certs, so generated certificates stay unchanged apart from
  the extension order. Mark ExtendedKeyUsage as critical explicitly, as
  x509-cert no longer does so by default.
- Replace OsRng with UnwrapErr(SysRng) and raise the RSA test key size
  to 1024 bits, the new minimum.
- Use accessors for the now private x509-cert certificate fields.
- Hex-encode the sha2 digest manually in ensure_max_string_length, as it
  no longer implements LowerHex.
- Add FIXMEs for the infinitely recursing catch-all arms of the custom
  PartialEq impls in stackable-certs.
@sbernauer sbernauer self-assigned this Oct 26, 2026
@sbernauer
sbernauer requested a review from Techassi October 26, 2026 15:37
@sbernauer sbernauer moved this to Development: Waiting for Review in Stackable Engineering Oct 26, 2026
@Techassi Techassi moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Oct 26, 2026

@Techassi Techassi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Partial review, I did not look at the new profile.rs and Cargo.toml files yet.

Comment thread crates/stackable-certs/src/ca/mod.rs Outdated
Comment thread crates/stackable-certs/src/keys/rsa.rs Outdated
Comment thread crates/stackable-operator/src/utils/length_enforcement.rs Outdated
Co-authored-by: Techassi <git@techassi.dev>
@sbernauer
sbernauer requested a review from Techassi October 27, 2026 08:18
Comment thread crates/stackable-certs/src/ca/mod.rs
Comment thread crates/stackable-certs/src/ca/profile.rs
Comment thread crates/stackable-operator/src/utils/length_enforcement.rs Outdated
Comment thread crates/stackable-operator/src/utils/length_enforcement.rs Outdated
Comment thread Cargo.toml Outdated
Comment thread Cargo.toml Outdated
Comment thread Cargo.toml Outdated
Comment thread Cargo.toml Outdated
Comment thread Cargo.toml Outdated
Comment thread Cargo.toml Outdated
@sbernauer sbernauer moved this from Development: In Review to Development: Waiting for Review in Stackable Engineering Oct 27, 2026
@sbernauer sbernauer moved this from Development: Waiting for Review to Development: In Review in Stackable Engineering Oct 27, 2026

@Techassi Techassi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One last question, good to go otherwise.

Comment thread Cargo.toml
@sbernauer
sbernauer added this pull request to the merge queue Oct 27, 2026
@sbernauer sbernauer moved this from Development: In Review to Development: Done in Stackable Engineering Oct 27, 2026
Merged via the queue into main with commit 6d8adff Oct 27, 2026
5 checks passed
@sbernauer
sbernauer deleted the chore/rsa-crypto-bump branch October 27, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Development: Done

Development

Successfully merging this pull request may close these issues.

2 participants