diff --git a/examples/print-cert.rs b/examples/print-cert.rs index b7fd7b8..ba2366a 100644 --- a/examples/print-cert.rs +++ b/examples/print-cert.rs @@ -218,13 +218,19 @@ fn print_x509_info(x509: &X509Certificate) -> io::Result<()> { #[cfg(any(feature = "verify", feature = "verify-aws"))] { print!("Signature verification: "); - if x509.subject() == x509.issuer() { - if x509.verify_signature(None).is_ok() { - println!("OK"); - println!(" [I] certificate is self-signed"); - } else if x509.subject() == x509.issuer() { - println!("FAIL"); - println!(" [W] certificate looks self-signed, but signature verification failed"); + if x509.subject().to_string() == x509.issuer().to_string() { + match x509.verify_signature(None) { + Ok(_) => { + println!("OK"); + println!(" [I] certificate is self-signed"); + } + Err(e) => { + println!("FAIL"); + println!(" [E] {:?}", e); + println!( + " [W] certificate looks self-signed, but signature verification failed" + ); + } } } else { // if subject is different from issuer, we cannot verify certificate without the public key of the issuer