From cec438a4e4abef1b19c4d483898b3610aa073feb Mon Sep 17 00:00:00 2001 From: Anthony Hu Date: Fri, 4 Aug 2023 11:08:19 -0400 Subject: [PATCH 1/2] Add some OpenSSL compat error strings. --- src/internal.c | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/internal.c b/src/internal.c index f7df02340..0dd87125b 100644 --- a/src/internal.c +++ b/src/internal.c @@ -23963,8 +23963,6 @@ const char* wolfSSL_ERR_reason_error_string(unsigned long e) #ifdef OPENSSL_EXTRA case 0 : return "ok"; - case -WOLFSSL_X509_V_ERR_CERT_REVOKED : - return "certificate revoked"; #endif case UNSUPPORTED_SUITE : @@ -24411,10 +24409,37 @@ const char* wolfSSL_ERR_reason_error_string(unsigned long e) case HTTP_APPSTR_ERR: return "HTTP Application string error"; #endif -#ifdef OPENSSL_EXTRA +#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \ + defined(HAVE_WEBSERVER) + /* TODO: -WOLFSSL_X509_V_ERR_CERT_SIGNATURE_FAILURE. Conflicts with + * -WOLFSSL_ERROR_WANT_CONNECT. */ + case -WOLFSSL_X509_V_ERR_CERT_NOT_YET_VALID: + return "certificate not yet valid"; + case -WOLFSSL_X509_V_ERR_CERT_HAS_EXPIRED: + return "certificate has expired"; + case -WOLFSSL_X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD: + return "certificate signature failure"; + case -WOLFSSL_X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD: + return "format error in certificate's notAfter field"; + case -WOLFSSL_X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT: + return "self-signed certificate in certificate chain"; case -WOLFSSL_X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: return "unable to get local issuer certificate"; -#endif + case -WOLFSSL_X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE: + return "unable to verify the first certificate"; + case -WOLFSSL_X509_V_ERR_CERT_CHAIN_TOO_LONG: + return "certificate chain too long"; + case -WOLFSSL_X509_V_ERR_CERT_REVOKED: + return "certificate revoked"; + case -WOLFSSL_X509_V_ERR_INVALID_CA: + return "invalid CA certificate"; + case -WOLFSSL_X509_V_ERR_PATH_LENGTH_EXCEEDED: + return "path length constraint exceeded"; + case -WOLFSSL_X509_V_ERR_CERT_REJECTED: + return "certificate rejected"; + case -WOLFSSL_X509_V_ERR_SUBJECT_ISSUER_MISMATCH: + return "subject issuer mismatch"; +#endif /* OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL || HAVE_WEBSERVER */ case UNSUPPORTED_PROTO_VERSION: #ifdef OPENSSL_EXTRA return "WRONG_SSL_VERSION"; From 5daabe0801560c34c83fcdeaa4ece77db167f7f0 Mon Sep 17 00:00:00 2001 From: Anthony Hu Date: Tue, 8 Aug 2023 16:35:55 -0400 Subject: [PATCH 2/2] Suggestion from Jacob to remove OPENSSL_EXTRA_X509_SMALL --- src/internal.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/internal.c b/src/internal.c index 0dd87125b..1facdf904 100644 --- a/src/internal.c +++ b/src/internal.c @@ -24409,9 +24409,8 @@ const char* wolfSSL_ERR_reason_error_string(unsigned long e) case HTTP_APPSTR_ERR: return "HTTP Application string error"; #endif -#if defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) || \ - defined(HAVE_WEBSERVER) - /* TODO: -WOLFSSL_X509_V_ERR_CERT_SIGNATURE_FAILURE. Conflicts with +#if defined(OPENSSL_EXTRA) || defined(HAVE_WEBSERVER) + /* TODO: -WOLFSSL_X509_V_ERR_CERT_SIGNATURE_FAILURE. Conflicts with * -WOLFSSL_ERROR_WANT_CONNECT. */ case -WOLFSSL_X509_V_ERR_CERT_NOT_YET_VALID: return "certificate not yet valid";