Skip to content

Commit 5ed7fd8

Browse files
committed
Clean up certificate error mapping
1 parent 7b765e5 commit 5ed7fd8

File tree

1 file changed

+10
-20
lines changed

1 file changed

+10
-20
lines changed

src/verifier.rs

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -282,28 +282,18 @@ impl ClientCertVerifier for ClientVerifier {
282282
}
283283

284284
fn translate_verify_result(result: &Result<(), Error>) -> i32 {
285+
use CertificateError::*;
285286
match result {
286287
Ok(()) => X509_V_OK,
287-
Err(Error::InvalidCertificate(CertificateError::UnknownIssuer)) => {
288-
X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY
289-
}
290-
Err(Error::InvalidCertificate(CertificateError::NotValidYet))
291-
| Err(Error::InvalidCertificate(CertificateError::NotValidYetContext { .. })) => {
292-
X509_V_ERR_CERT_NOT_YET_VALID
293-
}
294-
Err(Error::InvalidCertificate(CertificateError::Expired))
295-
| Err(Error::InvalidCertificate(CertificateError::ExpiredContext { .. })) => {
296-
X509_V_ERR_CERT_HAS_EXPIRED
297-
}
298-
Err(Error::InvalidCertificate(CertificateError::Revoked)) => X509_V_ERR_CERT_REVOKED,
299-
Err(Error::InvalidCertificate(
300-
CertificateError::InvalidPurpose | CertificateError::InvalidPurposeContext { .. },
301-
)) => X509_V_ERR_INVALID_PURPOSE,
302-
Err(Error::InvalidCertificate(CertificateError::NotValidForName))
303-
| Err(Error::InvalidCertificate(CertificateError::NotValidForNameContext { .. })) => {
304-
X509_V_ERR_HOSTNAME_MISMATCH
305-
}
306-
// TODO: more mappings can go here
288+
Err(Error::InvalidCertificate(error)) => match error {
289+
UnknownIssuer => X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY,
290+
NotValidYet | NotValidYetContext { .. } => X509_V_ERR_CERT_NOT_YET_VALID,
291+
Expired | ExpiredContext { .. } => X509_V_ERR_CERT_HAS_EXPIRED,
292+
Revoked => X509_V_ERR_CERT_REVOKED,
293+
InvalidPurpose | InvalidPurposeContext { .. } => X509_V_ERR_INVALID_PURPOSE,
294+
NotValidForName | NotValidForNameContext { .. } => X509_V_ERR_HOSTNAME_MISMATCH,
295+
_ => X509_V_ERR_UNSPECIFIED,
296+
},
307297
Err(_) => X509_V_ERR_UNSPECIFIED,
308298
}
309299
}

0 commit comments

Comments
 (0)