wolfSSL_get_ocsp_producedDate*(): gate on !defined(NO_ASN_TIME), and in client_test(), gate call to strftime() on HAVE_STRFTIME and add fallback code; add HAVE_STRFTIME test to configure.ac.

This commit is contained in:
Daniel Pouzzner
2020-10-08 23:26:28 -05:00
parent 7a77b6d990
commit 570f55a0e3
4 changed files with 17 additions and 7 deletions

View File

@@ -67,8 +67,8 @@ AC_CHECK_SIZEOF([long long])
AC_CHECK_SIZEOF([long]) AC_CHECK_SIZEOF([long])
AC_CHECK_SIZEOF([time_t]) AC_CHECK_SIZEOF([time_t])
AC_CHECK_TYPES([__uint128_t]) AC_CHECK_TYPES([__uint128_t])
AC_CHECK_FUNCS([gethostbyname getaddrinfo gettimeofday gmtime_r inet_ntoa memset socket]) AC_CHECK_FUNCS([gethostbyname getaddrinfo gettimeofday gmtime_r inet_ntoa memset socket strftime])
AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stddef.h sys/ioctl.h sys/socket.h sys/time.h errno.h]) AC_CHECK_HEADERS([arpa/inet.h fcntl.h limits.h netdb.h netinet/in.h stddef.h time.h sys/ioctl.h sys/socket.h sys/time.h errno.h])
AC_CHECK_LIB([network],[socket]) AC_CHECK_LIB([network],[socket])
AC_C_BIGENDIAN AC_C_BIGENDIAN

View File

@@ -3007,7 +3007,8 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
showPeerEx(ssl, lng_index); showPeerEx(ssl, lng_index);
#ifdef HAVE_OCSP #if defined(HAVE_OCSP) && !defined(NO_ASN_TIME)
#ifdef HAVE_STRFTIME
{ {
struct tm tm; struct tm tm;
char date[32]; char date[32];
@@ -3015,6 +3016,15 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args)
if ((ret == 0) && (strftime(date, sizeof date, "%Y-%m-%d %H:%M:%S %z", &tm) > 0)) if ((ret == 0) && (strftime(date, sizeof date, "%Y-%m-%d %H:%M:%S %z", &tm) > 0))
printf("OCSP response timestamp: %s\n", date); printf("OCSP response timestamp: %s\n", date);
} }
#else
{
byte date[MAX_DATE_SIZE];
int asn_date_format;
ret = wolfSSL_get_ocsp_producedDate(ssl, date, sizeof date, &asn_date_format);
if (ret == 0)
printf("OCSP response timestamp: %s (ASN.1 type %d)\n", (char *)date, asn_date_format);
}
#endif
#endif #endif
#ifdef OPENSSL_EXTRA #ifdef OPENSSL_EXTRA

View File

@@ -44134,7 +44134,7 @@ int wolfSSL_set_ocsp_url(WOLFSSL* ssl, char* url)
#endif /* OCSP */ #endif /* OCSP */
#endif /* OPENSSL_ALL || WOLFSSL_NGINX || WOLFSSL_HAPROXY */ #endif /* OPENSSL_ALL || WOLFSSL_NGINX || WOLFSSL_HAPROXY */
#ifdef HAVE_OCSP #if defined(HAVE_OCSP) && !defined(NO_ASN_TIME)
int wolfSSL_get_ocsp_producedDate( int wolfSSL_get_ocsp_producedDate(
WOLFSSL *ssl, WOLFSSL *ssl,
byte *producedDate, byte *producedDate,

View File

@@ -3735,7 +3735,7 @@ WOLFSSL_API void *wolfSSL_OPENSSL_memdup(const void *data,
WOLFSSL_API void wolfSSL_ERR_load_BIO_strings(void); WOLFSSL_API void wolfSSL_ERR_load_BIO_strings(void);
#endif #endif
#ifdef HAVE_OCSP #if defined(HAVE_OCSP) && !defined(NO_ASN_TIME)
WOLFSSL_API int wolfSSL_get_ocsp_producedDate( WOLFSSL_API int wolfSSL_get_ocsp_producedDate(
WOLFSSL *ssl, WOLFSSL *ssl,
byte *producedDate, byte *producedDate,