fix: use webpki roots

This commit is contained in:
2026-09-30 00:02:30 -04:00
parent f7fe0878f1
commit e49befb03f
3 changed files with 22 additions and 1 deletions

10
Cargo.lock generated
View File

@@ -432,6 +432,7 @@ dependencies = [
"tracing-subscriber", "tracing-subscriber",
"typed-builder", "typed-builder",
"url", "url",
"webpki-roots",
] ]
[[package]] [[package]]
@@ -2976,6 +2977,15 @@ dependencies = [
"rustls-pki-types", "rustls-pki-types",
] ]
[[package]]
name = "webpki-roots"
version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a"
dependencies = [
"rustls-pki-types",
]
[[package]] [[package]]
name = "widestring" name = "widestring"
version = "1.2.1" version = "1.2.1"

View File

@@ -28,3 +28,4 @@ tracing = "0.1.44"
tracing-subscriber = { version = "0.3.23", features = ["env-filter"] } tracing-subscriber = { version = "0.3.23", features = ["env-filter"] }
typed-builder = "0.23.2" typed-builder = "0.23.2"
url = "2.5.8" url = "2.5.8"
webpki-roots = "1.0.9"

View File

@@ -15,6 +15,7 @@ use headers::authorization::Bearer;
use mitsein::vec1::Vec1; use mitsein::vec1::Vec1;
use rand::Rng; use rand::Rng;
use rand::RngExt; use rand::RngExt;
use reqwest::Certificate;
use secrecy::ExposeSecret; use secrecy::ExposeSecret;
use secrecy::SecretString; use secrecy::SecretString;
use serde::Deserialize; use serde::Deserialize;
@@ -367,7 +368,16 @@ async fn create_chat_completion(
web_search_options, web_search_options,
}; };
let client = reqwest::Client::new(); let client = reqwest::Client::builder()
.tls_certs_only(
webpki_roots::TLS_SERVER_ROOTS
.iter()
.filter_map(|trust_anchor| {
Certificate::from_der(trust_anchor.subject.as_ref()).ok()
}),
)
.build()
.expect("TODO");
let mut upstream_request = client let mut upstream_request = client
.post({ .post({