diff --git a/src/ocsp.c b/src/ocsp.c index 69be0534b..d3954a68b 100644 --- a/src/ocsp.c +++ b/src/ocsp.c @@ -395,7 +395,11 @@ int CheckOcspResponse(WOLFSSL_OCSP *ocsp, byte *response, int responseSz, end: if (ret == 0 && validated == 1) { WOLFSSL_MSG("New OcspResponse validated"); + } else if ((ret == ocsp->error) && (ocspResponse->single->status->status == CERT_UNKNOWN)) { + WOLFSSL_MSG("OCSP unknown"); + ret = OCSP_CERT_UNKNOWN; } else if (ret != OCSP_CERT_REVOKED) { + WOLFSSL_MSG("OCSP lookup failure"); ret = OCSP_LOOKUP_FAIL; } @@ -463,7 +467,7 @@ int CheckOcspRequest(WOLFSSL_OCSP* ocsp, OcspRequest* ocspRequest, return ret; } WOLFSSL_LEAVE("CheckOcspRequest", ocsp->error); - return OCSP_LOOKUP_FAIL; + return ret; } #endif