Skip to content

crypto: migrate test infra TLS to rustls (frontegg-mock, oidc-mock, mz-debug) - #36090

Draft
jasonhernandez wants to merge 2 commits into
mainfrom
jason/crypto-tls-6-test-infra
Draft

jasonhernandez wants to merge 2 commits into
mainfrom
jason/crypto-tls-6-test-infra

Conversation

@jasonhernandez

@jasonhernandez jasonhernandez commented Apr 15, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Split 6/6 of the TLS migration from OpenSSL to rustls.

Migrates test mock servers and the mz-debug catalog dumper:

  • mz-frontegg-mock: Replace openssl-based test TLS server with rustls + rcgen certificates. Update test client to use rustls::ClientConfig with custom CA roots.
  • mz-oidc-mock: Rewrite OIDC mock server TLS from openssl::SslAcceptor to axum-server with rustls. Generate test certs with rcgen instead of openssl CLI.
  • mz-debug: Switch system_catalog_dumper Postgres connection from postgres-openssl::MakeTlsConnector to tokio-postgres-rustls::MakeRustlsConnect.

Dependency chain

#35940 → split 1 (#36085) → split 3 (#36087) → this PR

Test plan

  • cargo check passes for mz-frontegg-mock, mz-oidc-mock, mz-debug
  • Frontegg mock auth tests pass
  • OIDC mock tests pass

🤖 Generated with Claude Code

Part of SEC-219.

@github-actions

Copy link
Copy Markdown
Contributor

Thanks for opening this PR! Here are a few tips to help make the review process smooth for everyone.

PR title guidelines

  • Use imperative mood: "Fix X" not "Fixed X" or "Fixes X"
  • Be specific: "Fix panic in catalog sync when controller restarts" not "Fix bug" or "Update catalog code"
  • Prefix with area if helpful: compute: , storage: , adapter: , sql:

Pre-merge checklist

  • The PR title is descriptive and will make sense in the git log.
  • This PR has adequate test coverage / QA involvement has been duly considered. (trigger-ci for additional test/nightly runs)
  • If this PR includes major user-facing behavior changes, I have pinged the relevant PM to schedule a changelog post.
  • This PR has an associated up-to-date design doc, is a design doc (template), or is sufficiently small to not require a design.
  • If this PR evolves an existing $T ⇔ Proto$T mapping (possibly in a backwards-incompatible way), then it is tagged with a T-proto label.
  • If this PR will require changes to cloud orchestration or tests, there is a companion cloud PR to account for those changes that is tagged with the release-blocker label (example).

Add rustls, aws-lc-rs, hyper-rustls, rcgen, tokio-rustls workspace deps
and the mz-ore `crypto` feature with FIPS-aware CryptoProvider helpers.
Azure SDK forks patched to support reqwest-rustls-no-provider.
Removes the rustls ban from deny.toml.

Does NOT bump LaunchDarkly SDK (deferred to end of migration).

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@jasonhernandez
jasonhernandez force-pushed the jason/crypto-tls-6-test-infra branch from b79f076 to a4833f7 Compare July 7, 2026 08:25
…z-debug)

Switch test TLS servers and mz-debug catalog dumper from openssl to rustls.
Generate test certificates and keys with aws-lc-rs (not rcgen), keeping the
whole test path on the FIPS-capable provider.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant