diff --git a/streamer/src/tls_certificates.rs b/streamer/src/tls_certificates.rs index 27d3365c88..9e6bf35bc7 100644 --- a/streamer/src/tls_certificates.rs +++ b/streamer/src/tls_certificates.rs @@ -57,7 +57,8 @@ pub fn new_self_signed_tls_certificate_chain( } pub fn get_pubkey_from_tls_certificate(certificates: &[rustls::Certificate]) -> Option { - certificates.first().and_then(|der_cert| { + if certificates.len() == 1 { + let der_cert = &certificates[0]; X509Certificate::from_der(der_cert.as_ref()) .ok() .and_then(|(_, cert)| { @@ -66,7 +67,9 @@ pub fn get_pubkey_from_tls_certificate(certificates: &[rustls::Certificate]) -> _ => None, }) }) - }) + } else { + None + } } #[cfg(test)]