@@ -282,28 +282,18 @@ impl ClientCertVerifier for ClientVerifier {
282282}
283283
284284fn 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