I'm getting this error running the example code ``` Error: An error occured during the attempt of performing I/O: invalid peer certificate contents: invalid peer certificate: UnsupportedCertVersion ``` ## Cargo.toml ```toml tiberius = { version = "0.12.2", default-features = false, features = [ "rustls" ] } once_cell = { version = "1.19" } anyhow = { version = "1.0" } tokio-util = { version = "0.7", features = [ "compat" ] } tokio = { version = "1.35", features = ["full"] } ``` ## Code ```rust use once_cell::sync::Lazy; use std::env; use tiberius::{Client, Config}; use tokio::net::TcpStream; use tokio_util::compat::TokioAsyncWriteCompatExt; static CONN_STR: Lazy<String> = Lazy::new(|| { env::var("TIBERIUS_TEST_CONNECTION_STRING").unwrap_or_else(|_| { "Server=localhost;Database= <my_db>;User ID=<my_user_id>;Password=<my_known_password>;Trusted_Connection=False;Encrypt=False;MultipleActiveResultSets=True;".to_owned() }) }); #[cfg(not(all(windows, feature = "sql-browser-tokio")))] #[tokio::main] async fn main() -> anyhow::Result<()> { let config = Config::from_ado_string(&CONN_STR)?; let tcp = TcpStream::connect(config.get_addr()).await?; tcp.set_nodelay(true)?; let mut client = Client::connect(config, tcp.compat_write()).await?; let stream = client.query("SELECT TOP 10 * FROM [Accounting].[Account]", &[&1i32]).await?; let row = stream.into_row().await?.unwrap(); println!("{:?}", row); assert_eq!(Some(1), row.get(0)); Ok(()) } ``` Note that the connection string works locally from ssms or azure data studio
Activity
feat(tls): clearer diagnostics for rustls cert-version handshake fail…
feat(tls): clearer diagnostics for rustls cert-version handshake fail…
MattJackson commentedon Sep 24, 2026
Fixed in #451, shipped in v0.13.0 (https://github.com/tiberius-rs/tiberius/releases/tag/v0.13.0). Closing.