From b9f3bfea78b535996c3df308f447ae6dc681c5dd Mon Sep 17 00:00:00 2001 From: Richard Ulrich Date: Tue, 19 May 2026 10:38:37 +0200 Subject: [PATCH] initializing the default crypto provider for electrsd --- bitcoind/build.rs | 4 ++++ bitreq/src/lib.rs | 2 ++ electrsd/build.rs | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/bitcoind/build.rs b/bitcoind/build.rs index dc65b55b..2b9c22df 100644 --- a/bitcoind/build.rs +++ b/bitcoind/build.rs @@ -14,6 +14,7 @@ mod download { use anyhow::Context; use bitcoin_hashes::{sha256, Hash}; + use bitreq::rustls::crypto::{ring, CryptoProvider}; use flate2::read::GzDecoder; use tar::Archive; @@ -80,6 +81,9 @@ mod download { } let out_dir = PathBuf::from(std::env::var_os("OUT_DIR").unwrap()); + // specify the default crypto provider for rustls + let _ = CryptoProvider::install_default(ring::default_provider()); + let bitcoin_exe_home = download_dir(&out_dir); std::fs::create_dir_all(&bitcoin_exe_home) .with_context(|| format!("cannot create dir {:?}", bitcoin_exe_home))?; diff --git a/bitreq/src/lib.rs b/bitreq/src/lib.rs index 1f214dfa..41d61f51 100644 --- a/bitreq/src/lib.rs +++ b/bitreq/src/lib.rs @@ -272,4 +272,6 @@ pub use proxy::*; pub use request::*; #[cfg(feature = "std")] pub use response::{Response, ResponseLazy}; +#[cfg(feature = "https-rustls")] +pub use rustls; pub use url::{ParseError as UrlParseError, Url}; diff --git a/electrsd/build.rs b/electrsd/build.rs index ee31ddf5..971ffa7d 100644 --- a/electrsd/build.rs +++ b/electrsd/build.rs @@ -14,6 +14,7 @@ mod download { use std::os::unix::fs::PermissionsExt; use std::path::Path; use std::str::FromStr; + use bitreq::rustls::crypto::{CryptoProvider, ring}; include!("src/versions.rs"); @@ -36,6 +37,9 @@ mod download { return; } + // specify the default crypto provider for rustls + let _ = CryptoProvider::install_default(ring::default_provider()); + if !HAS_FEATURE { return; }