Skip to content

Commit

Permalink
Merge pull request #283 from CBenoit/fix-error-on-bad-root-cert
Browse files Browse the repository at this point in the history
Gracefully handle invalid native root certificates
  • Loading branch information
daniel-abramov committed May 18, 2023
2 parents dfe10bb + c3e09c4 commit a6c2d13
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions src/tls.rs
Original file line number Diff line number Diff line change
Expand Up @@ -94,11 +94,13 @@ mod encryption {
let mut root_store = RootCertStore::empty();
#[cfg(feature = "rustls-tls-native-roots")]
{
for cert in rustls_native_certs::load_native_certs()? {
root_store
.add(&rustls::Certificate(cert.0))
.map_err(TlsError::Rustls)?;
}
let native_certs = rustls_native_certs::load_native_certs()?;
let der_certs: Vec<Vec<u8>> =
native_certs.into_iter().map(|cert| cert.0).collect();
let total_number = der_certs.len();
let (number_added, number_ignored) =
root_store.add_parsable_certificates(&der_certs);
log::debug!("Added {number_added}/{total_number} native root certificates (ignored {number_ignored})");
}
#[cfg(feature = "rustls-tls-webpki-roots")]
{
Expand Down

0 comments on commit a6c2d13

Please sign in to comment.