diff options
Diffstat (limited to 'src/client/certificate.rs')
-rw-r--r-- | src/client/certificate.rs | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/client/certificate.rs b/src/client/certificate.rs index 930093c..4dc4a76 100644 --- a/src/client/certificate.rs +++ b/src/client/certificate.rs @@ -259,8 +259,8 @@ impl TofuServerVerification { .unwrap(); match block_on(cert_action_recv) { Ok(action) => self.apply_verifier_immediate_action(&action, status, cert_info), - Err(err) => Err(rustls::Error::InvalidCertificateData(format!( - "Failed to receive CertVerifierAction: {}", + Err(err) => Err(rustls::Error::General(format!( + "Failed to receive CertVerifierAction from client: {}", err ))), } @@ -282,7 +282,7 @@ impl TofuServerVerification { status: status, cert_info, }) { - Ok(_) => Err(rustls::Error::InvalidCertificateData(format!( + Ok(_) => Err(rustls::Error::General(format!( "CertVerifierAction requested to abort the connection" ))), Err(_) => Err(rustls::Error::General(format!( @@ -339,19 +339,14 @@ impl rustls::client::ServerCertVerifier for TofuServerVerification { }; if let Some(ref known_fingerprint) = cert_info.known_fingerprint { if *known_fingerprint == cert_info.fingerprint { - status = Some(CertVerificationStatus::TrustedCertificate); + status = CertVerificationStatus::TrustedCertificate; } else { - status = Some(CertVerificationStatus::UntrustedCertificate); + status = CertVerificationStatus::UntrustedCertificate; } } else { - status = Some(CertVerificationStatus::UnknownCertificate); - } - match status { - Some(status) => self.apply_verifier_behaviour_for_status(status, cert_info), - None => Err(rustls::Error::InvalidCertificateData(format!( - "Internal error, no CertVerificationStatus" - ))), + status = CertVerificationStatus::UnknownCertificate; } + self.apply_verifier_behaviour_for_status(status, cert_info) } } |