This commit is contained in:
kpcyrd 2025-10-04 20:38:56 +00:00 committed by GitHub
commit e0f0737206
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 49 additions and 17 deletions

42
Cargo.lock generated
View File

@ -98,7 +98,7 @@ dependencies = [
"rcgen", "rcgen",
"rustls 0.21.12", "rustls 0.21.12",
"rustls-native-certs 0.6.3", "rustls-native-certs 0.6.3",
"rustls-native-certs 0.7.3", "rustls-native-certs 0.8.1",
"rustls-pemfile 2.2.0", "rustls-pemfile 2.2.0",
"rustls-pki-types", "rustls-pki-types",
"rustls-webpki 0.101.7", "rustls-webpki 0.101.7",
@ -448,6 +448,16 @@ dependencies = [
"libc", "libc",
] ]
[[package]]
name = "core-foundation"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6"
dependencies = [
"core-foundation-sys",
"libc",
]
[[package]] [[package]]
name = "core-foundation-sys" name = "core-foundation-sys"
version = "0.8.7" version = "0.8.7"
@ -1265,7 +1275,7 @@ dependencies = [
"openssl-probe", "openssl-probe",
"openssl-sys", "openssl-sys",
"schannel", "schannel",
"security-framework", "security-framework 2.11.1",
"security-framework-sys", "security-framework-sys",
"tempfile", "tempfile",
] ]
@ -1796,20 +1806,19 @@ dependencies = [
"openssl-probe", "openssl-probe",
"rustls-pemfile 1.0.4", "rustls-pemfile 1.0.4",
"schannel", "schannel",
"security-framework", "security-framework 2.11.1",
] ]
[[package]] [[package]]
name = "rustls-native-certs" name = "rustls-native-certs"
version = "0.7.3" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" checksum = "7fcff2dd52b58a8d98a70243663a0d234c4e2b79235637849d15913394a247d3"
dependencies = [ dependencies = [
"openssl-probe", "openssl-probe",
"rustls-pemfile 2.2.0",
"rustls-pki-types", "rustls-pki-types",
"schannel", "schannel",
"security-framework", "security-framework 3.5.1",
] ]
[[package]] [[package]]
@ -1937,7 +1946,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02" checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
dependencies = [ dependencies = [
"bitflags 2.9.4", "bitflags 2.9.4",
"core-foundation", "core-foundation 0.9.4",
"core-foundation-sys",
"libc",
"security-framework-sys",
]
[[package]]
name = "security-framework"
version = "3.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef"
dependencies = [
"bitflags 2.9.4",
"core-foundation 0.10.1",
"core-foundation-sys", "core-foundation-sys",
"libc", "libc",
"security-framework-sys", "security-framework-sys",
@ -1945,9 +1967,9 @@ dependencies = [
[[package]] [[package]]
name = "security-framework-sys" name = "security-framework-sys"
version = "2.14.0" version = "2.15.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49db231d56a190491cb4aeda9527f1ad45345af50b0851622a7adb8c03b01c32" checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0"
dependencies = [ dependencies = [
"core-foundation-sys", "core-foundation-sys",
"libc", "libc",

View File

@ -51,12 +51,12 @@ rustls-0_21-native-roots = ["tokio-rustls-024", "dep:rustls-native-certs-06"]
# use rustls v0.22 impls # use rustls v0.22 impls
rustls-0_22 = ["dep:tokio-rustls-025", "dep:rustls-pki-types-1"] rustls-0_22 = ["dep:tokio-rustls-025", "dep:rustls-pki-types-1"]
rustls-0_22-webpki-roots = ["rustls-0_22", "dep:webpki-roots-026"] rustls-0_22-webpki-roots = ["rustls-0_22", "dep:webpki-roots-026"]
rustls-0_22-native-roots = ["rustls-0_22", "dep:rustls-native-certs-07"] rustls-0_22-native-roots = ["rustls-0_22", "dep:rustls-native-certs-08"]
# use rustls v0.23 impls # use rustls v0.23 impls
rustls-0_23 = ["dep:tokio-rustls-026", "dep:rustls-pki-types-1"] rustls-0_23 = ["dep:tokio-rustls-026", "dep:rustls-pki-types-1"]
rustls-0_23-webpki-roots = ["rustls-0_23", "dep:webpki-roots-026"] rustls-0_23-webpki-roots = ["rustls-0_23", "dep:webpki-roots-026"]
rustls-0_23-native-roots = ["rustls-0_23", "dep:rustls-native-certs-07"] rustls-0_23-native-roots = ["rustls-0_23", "dep:rustls-native-certs-08"]
# use native-tls impls # use native-tls impls
native-tls = ["dep:tokio-native-tls"] native-tls = ["dep:tokio-native-tls"]
@ -105,7 +105,7 @@ webpki-roots-026 = { package = "webpki-roots", version = "0.26", optional = true
# native root certificates for rustls impls # native root certificates for rustls impls
rustls-native-certs-06 = { package = "rustls-native-certs", version = "0.6", optional = true } rustls-native-certs-06 = { package = "rustls-native-certs", version = "0.6", optional = true }
rustls-native-certs-07 = { package = "rustls-native-certs", version = "0.7", optional = true } rustls-native-certs-08 = { package = "rustls-native-certs", version = "0.8", optional = true }
# native-tls # native-tls
tokio-native-tls = { version = "0.3", optional = true } tokio-native-tls = { version = "0.3", optional = true }

View File

@ -35,12 +35,17 @@ pub mod reexports {
/// ///
/// See [`rustls_native_certs::load_native_certs()`] for more info on behavior and errors. /// See [`rustls_native_certs::load_native_certs()`] for more info on behavior and errors.
/// ///
/// [`rustls_native_certs::load_native_certs()`]: rustls_native_certs_07::load_native_certs() /// [`rustls_native_certs::load_native_certs()`]: rustls_native_certs_08::load_native_certs()
#[cfg(feature = "rustls-0_22-native-roots")] #[cfg(feature = "rustls-0_22-native-roots")]
pub fn native_roots_cert_store() -> io::Result<tokio_rustls::rustls::RootCertStore> { pub fn native_roots_cert_store() -> io::Result<tokio_rustls::rustls::RootCertStore> {
let mut root_certs = tokio_rustls::rustls::RootCertStore::empty(); let mut root_certs = tokio_rustls::rustls::RootCertStore::empty();
for cert in rustls_native_certs_07::load_native_certs()? { let certs = rustls_native_certs_08::load_native_certs();
if let Some(err) = certs.errors.into_iter().next() {
return Err(io::Error::other(err));
}
for cert in certs.certs {
root_certs.add(cert).unwrap(); root_certs.add(cert).unwrap();
} }

View File

@ -35,12 +35,17 @@ pub mod reexports {
/// ///
/// See [`rustls_native_certs::load_native_certs()`] for more info on behavior and errors. /// See [`rustls_native_certs::load_native_certs()`] for more info on behavior and errors.
/// ///
/// [`rustls_native_certs::load_native_certs()`]: rustls_native_certs_07::load_native_certs() /// [`rustls_native_certs::load_native_certs()`]: rustls_native_certs_08::load_native_certs()
#[cfg(feature = "rustls-0_23-native-roots")] #[cfg(feature = "rustls-0_23-native-roots")]
pub fn native_roots_cert_store() -> io::Result<tokio_rustls::rustls::RootCertStore> { pub fn native_roots_cert_store() -> io::Result<tokio_rustls::rustls::RootCertStore> {
let mut root_certs = tokio_rustls::rustls::RootCertStore::empty(); let mut root_certs = tokio_rustls::rustls::RootCertStore::empty();
for cert in rustls_native_certs_07::load_native_certs()? { let certs = rustls_native_certs_08::load_native_certs();
if let Some(err) = certs.errors.into_iter().next() {
return Err(io::Error::other(err));
}
for cert in certs.certs {
root_certs.add(cert).unwrap(); root_certs.add(cert).unwrap();
} }