diff --git a/crates/ec-node/src/main.rs b/crates/ec-node/src/main.rs index 6e36cf9..db78dea 100644 --- a/crates/ec-node/src/main.rs +++ b/crates/ec-node/src/main.rs @@ -476,6 +476,13 @@ enum IngestSource { } fn main() -> Result<()> { + // rustls 0.23 requires an explicit process-level CryptoProvider when multiple providers + // are enabled. We install a default provider once at startup. + if rustls::crypto::CryptoProvider::get_default().is_none() { + let _ = rustls::crypto::aws_lc_rs::default_provider().install_default(); + let _ = rustls::crypto::ring::default_provider().install_default(); + } + // Keep stdout reserved for machine-readable output (endpoint addr, etc). let filter = tracing_subscriber::EnvFilter::try_from_default_env() .unwrap_or_else(|_| tracing_subscriber::EnvFilter::new("info"));