From 795c2905fce5877ee6c8d85aa75ca04fa5a9ef4c Mon Sep 17 00:00:00 2001 From: Conrad Ludgate Date: Sun, 3 Nov 2024 13:34:58 +0000 Subject: [PATCH] correctly parse x509 certificates for channel binding --- src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index eccd1ce..1a17707 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -30,7 +30,7 @@ mod private { use tokio::io::{AsyncRead, AsyncWrite, ReadBuf}; use tokio_postgres::tls::{ChannelBinding, TlsConnect}; use tokio_rustls::{client::TlsStream, TlsConnector}; - use x509_cert::{der::Decode, TbsCertificate}; + use x509_cert::{der::Decode, Certificate}; pub struct TlsConnectFuture { pub inner: tokio_rustls::Connect, @@ -91,10 +91,10 @@ mod private { fn channel_binding(&self) -> ChannelBinding { let (_, session) = self.0.get_ref(); match session.peer_certificates() { - Some(certs) if !certs.is_empty() => TbsCertificate::from_der(&certs[0]) + Some(certs) if !certs.is_empty() => Certificate::from_der(&certs[0]) .ok() .and_then(|cert| { - let digest = match cert.signature.oid { + let digest = match cert.signature_algorithm.oid { // Note: SHA1 is upgraded to SHA256 as per https://datatracker.ietf.org/doc/html/rfc5929#section-4.1 ID_SHA_1 | ID_SHA_256