Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
2b12e75
Add allocators/deallocators for OcspRequest and OcspResponse
julek-wolfssl Jan 8, 2026
3ea0f5d
Add ocsp-responder option
julek-wolfssl Jan 8, 2026
fe9e237
Add test_ocsp_responder
julek-wolfssl Jan 9, 2026
ced9e2b
DecodedCert: add subject, issuer, and serial accessors
julek-wolfssl Jan 9, 2026
33cd571
fixup! Add allocators/deallocators for OcspRequest and OcspResponse
julek-wolfssl Jan 9, 2026
ef87f34
fixup! DecodedCert: add subject, issuer, and serial accessors
julek-wolfssl Jan 9, 2026
e04a9f5
GetASN_Items: correct bounds check on endIdx
julek-wolfssl Jan 12, 2026
03ae6c1
Implement DecodeOcspRequest
julek-wolfssl Jan 12, 2026
1e91028
Move MakeSignature
julek-wolfssl Jan 16, 2026
28bfcc5
Implement encoding OCSP response
julek-wolfssl Jan 16, 2026
60bd735
Add ocsp responder scenarios
julek-wolfssl Jan 16, 2026
8ab9b21
fixup! Add allocators/deallocators for OcspRequest and OcspResponse
julek-wolfssl Jan 16, 2026
e19cf9c
Init ocsp responder API
julek-wolfssl Jan 16, 2026
0ab4e14
Add revocation support
julek-wolfssl Jan 16, 2026
5c5bcbc
Add unknown support
julek-wolfssl Jan 16, 2026
96fa065
Remove client configs
julek-wolfssl Jan 16, 2026
cb740ed
ocsp responder: support variable sig size
julek-wolfssl Jan 16, 2026
f83e2cc
Allocate ocsp responder size dynamically
julek-wolfssl Jan 17, 2026
697df56
clean up keys
julek-wolfssl Jan 17, 2026
74f6078
Optimize OcspResponderCa
julek-wolfssl Jan 17, 2026
8cddad3
Refactor ocsp responder
julek-wolfssl Jan 17, 2026
2dcc4fd
refactor OcspResponse_WriteResponse
julek-wolfssl Jan 17, 2026
5638ea3
Refactor wc_OcspResponder_WriteResponse
julek-wolfssl Jan 17, 2026
80ba5fd
Add nextUpdate support
julek-wolfssl Jan 17, 2026
1ae2ae9
Add certs in response support
julek-wolfssl Jan 17, 2026
8c6b95d
document OCSPRESPDATAASN_IDX_RESPEXT usage
julek-wolfssl Jan 17, 2026
442be54
ocsp response: add crit checking
julek-wolfssl Jan 17, 2026
14f9166
ocsp response: add nonce extension support
julek-wolfssl Jan 23, 2026
e5aacf0
Add missing features list.
julek-wolfssl Jan 23, 2026
60b68ce
Add ocsp responder example
julek-wolfssl Feb 10, 2026
5390f05
Add responder interop
julek-wolfssl Feb 10, 2026
3a8d070
Add responder to enable-all
julek-wolfssl Feb 10, 2026
30c79d7
Fix sending certs with CA exts
julek-wolfssl Feb 10, 2026
f531c9b
CI fixes
julek-wolfssl Feb 10, 2026
e9718dc
Fix clang-tidy errors
julek-wolfssl Feb 11, 2026
f072684
Better script logging
julek-wolfssl Feb 11, 2026
f3da9f0
Clean clang tidy
julek-wolfssl Feb 11, 2026
f79a13a
Remove header circular dependency
julek-wolfssl Feb 11, 2026
d5b933b
Fix memory logging
julek-wolfssl Feb 11, 2026
499ac37
Clean up responder on signal
julek-wolfssl Feb 11, 2026
dc89152
Clean up leak in server
julek-wolfssl Feb 11, 2026
83b6c0f
Add responder to wolfclu options
julek-wolfssl Feb 11, 2026
4081017
Detect stapling support
julek-wolfssl Feb 11, 2026
9980a6b
fixup! Clean up leak in server
julek-wolfssl Feb 11, 2026
94b6b1e
Fix memory errors
julek-wolfssl Feb 11, 2026
142f26c
Signals should be returned by syscalls to be able to exit loop
julek-wolfssl Feb 12, 2026
9fc291f
Better logging
julek-wolfssl Feb 12, 2026
3043df6
Use ready files for syncing
julek-wolfssl Feb 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/os-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ jobs:
'--enable-all CPPFLAGS=''-DNO_WOLFSSL_SERVER -DWOLFSSL_NO_CLIENT_AUTH''',
'--enable-curve25519=nonblock --enable-ecc=nonblock --enable-sp=yes,nonblock CPPFLAGS="-DWOLFSSL_PUBLIC_MP -DWOLFSSL_DEBUG_NONBLOCK"',
'--enable-certreq --enable-certext --enable-certgen --disable-secure-renegotiation-info CPPFLAGS="-DNO_TLS"',
'--enable-ocsp --enable-ocsp-responder',
]
name: make check
if: github.repository_owner == 'wolfssl'
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ examples/sctp/sctp-client
examples/sctp/sctp-client-dtls
examples/asn1/asn1
examples/pem/pem
examples/ocsp_responder/ocsp_responder
server_ready
snifftest
output
Expand Down
58 changes: 45 additions & 13 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -1045,21 +1045,26 @@ do
# Enable all ASN features
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ASN_ALL"
ENABLED_ASN=yes
ASN_IMPL=template
;;
template | yes)
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ASN_TEMPLATE"
ENABLED_ASN=yes
ASN_IMPL=template
;;
original)
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ASN_ORIGINAL"
ASN_IMPL=original
;;
nocrypt)
AM_CFLAGS="$AM_CFLAGS -DNO_ASN_CRYPT"
enable_pwdbased=no
ASN_IMPL=template
;;
no)
AM_CFLAGS="$AM_CFLAGS -DNO_ASN -DNO_ASN_CRYPT"
enable_pwdbased=no
ASN_IMPL=no
;;
*)
AC_MSG_ERROR([Invalid asn option. Valid are: all, template/yes, original, nocrypt or no. Seen: $ENABLED_ASN.])
Expand Down Expand Up @@ -1457,6 +1462,7 @@ then
test "$enable_ocsp" = "" && enable_ocsp=yes
test "$enable_ocspstapling" = "" && test "$enable_ocsp" != "no" && enable_ocspstapling=yes
test "$enable_ocspstapling2" = "" && test "$enable_ocsp" != "no" && enable_ocspstapling2=yes
test "$enable_ocsp_responder" = "" && test "$ASN_IMPL" = "template" && enable_ocsp_responder=yes
test "$enable_crl" = "" && enable_crl=yes
test "$enable_supportedcurves" = "" && enable_supportedcurves=yes
test "$enable_tlsx" = "" && enable_tlsx=yes
Expand Down Expand Up @@ -6967,19 +6973,6 @@ AC_ARG_ENABLE([ocsp],
[ ENABLED_OCSP=no ]
)

if test "$ENABLED_OCSP" = "yes"
then
# check openssl command tool for testing ocsp
AC_CHECK_PROG([HAVE_OPENSSL_CMD],[openssl],[yes],[no])

if test "$HAVE_OPENSSL_CMD" = "yes"
then
AM_CFLAGS="$AM_CFLAGS -DHAVE_OPENSSL_CMD"
else
AC_MSG_WARN([openssl command line tool not available for testing ocsp])
fi
fi


# Certificate Status Request : a.k.a. OCSP Stapling
AC_ARG_ENABLE([ocspstapling],
Expand Down Expand Up @@ -7048,6 +7041,21 @@ then
fi


AC_ARG_ENABLE([ocsp-responder],
[AS_HELP_STRING([--enable-ocsp-responder],[Enable OCSP Responder (default: disabled)])],
[ ENABLED_OCSP_RESPONDER=$enableval ],
[ ENABLED_OCSP_RESPONDER=no ]
)

if test "x$ENABLED_OCSP_RESPONDER" = "xyes"
then
# Requires OCSP make sure on
if test "x$ENABLED_OCSP" = "xno"
then
ENABLED_OCSP="yes"
fi
fi

# CRL
AC_ARG_ENABLE([crl],
[AS_HELP_STRING([--enable-crl],[Enable CRL (Use =io for inline CRL HTTP GET) (default: disabled)])],
Expand Down Expand Up @@ -10325,6 +10333,13 @@ then

AM_CFLAGS="$AM_CFLAGS -DHAVE_OID_ENCODING -DWOLFSSL_NO_ASN_STRICT"

# OCSP responder
if test "$ENABLED_OCSP" = "no"; then
ENABLED_OCSP="yes"
fi
if test "$ENABLED_OCSP_RESPONDER" = "no"; then
ENABLED_OCSP_RESPONDER="yes"
fi
fi

if test "$ENABLED_STRONGSWAN" = "yes"; then
Expand Down Expand Up @@ -10579,6 +10594,22 @@ AS_IF([test "x$ENABLED_CERTEXT" = "xyes"],
AS_IF([test "x$ENABLED_OCSP" = "xyes"],
[AM_CFLAGS="$AM_CFLAGS -DHAVE_OCSP"])

AS_IF([test "x$ENABLED_OCSP_RESPONDER" = "xyes"],
[AM_CFLAGS="$AM_CFLAGS -DHAVE_OCSP_RESPONDER"])

if test "$ENABLED_OCSP" = "yes"
then
# check openssl command tool for testing ocsp
AC_CHECK_PROG([HAVE_OPENSSL_CMD],[openssl],[yes],[no])

if test "$HAVE_OPENSSL_CMD" = "yes"
then
AM_CFLAGS="$AM_CFLAGS -DHAVE_OPENSSL_CMD"
else
AC_MSG_WARN([openssl command line tool not available for testing ocsp])
fi
fi

AS_IF([test "x$ENABLED_STRONGSWAN" = "xyes"],
[AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_LOG_PRINTF -DWOLFSSL_PUBLIC_MP -DHAVE_EX_DATA"
AS_IF([test "$ENABLED_FIPS" = "no" || test "$HAVE_FIPS_VERSION" -le 2],
Expand Down Expand Up @@ -11209,6 +11240,7 @@ AM_CONDITIONAL([BUILD_HEAPMATH],[test "x$ENABLED_HEAPMATH" = "xyes" || test "x$E
AM_CONDITIONAL([BUILD_EXAMPLE_SERVERS],[test "x$ENABLED_EXAMPLES" = "xyes" && test "x$ENABLED_LEANTLS" = "xno"])
AM_CONDITIONAL([BUILD_EXAMPLE_CLIENTS],[test "x$ENABLED_EXAMPLES" = "xyes"])
AM_CONDITIONAL([BUILD_EXAMPLE_ASN1],[test "x$ENABLED_EXAMPLES" = "xyes" && test "x$ENABLED_ASN_PRINT" = "xyes" && test "$ENABLED_ASN" != "no"])
AM_CONDITIONAL([BUILD_OCSP_RESPONDER],[test "x$ENABLED_EXAMPLES" = "xyes" && test "x$ENABLED_OCSP_RESPONDER" = "xyes"])
AM_CONDITIONAL([BUILD_TESTS],[test "x$ENABLED_EXAMPLES" = "xyes"])
AM_CONDITIONAL([BUILD_THREADED_EXAMPLES],[test "x$ENABLED_SINGLETHREADED" = "xno" && test "x$ENABLED_EXAMPLES" = "xyes" && test "x$ENABLED_LEANTLS" = "xno"])
AM_CONDITIONAL([BUILD_WOLFCRYPT_TESTS],[test "x$ENABLED_CRYPT_TESTS" = "xyes"])
Expand Down
1 change: 1 addition & 0 deletions examples/include.am
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ include examples/sctp/include.am
include examples/configs/include.am
include examples/asn1/include.am
include examples/pem/include.am
include examples/ocsp_responder/include.am
EXTRA_DIST += examples/README.md
14 changes: 14 additions & 0 deletions examples/ocsp_responder/include.am
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# vim:ft=automake
# All paths should be given relative to the root

if BUILD_OCSP_RESPONDER
noinst_PROGRAMS += examples/ocsp_responder/ocsp_responder
noinst_HEADERS += examples/ocsp_responder/ocsp_responder.h
examples_ocsp_responder_ocsp_responder_SOURCES = examples/ocsp_responder/ocsp_responder.c
examples_ocsp_responder_ocsp_responder_LDADD = src/libwolfssl@[email protected] $(LIB_STATIC_ADD)
examples_ocsp_responder_ocsp_responder_DEPENDENCIES = src/libwolfssl@[email protected]
examples_ocsp_responder_ocsp_responder_CFLAGS = $(AM_CFLAGS)
endif

dist_example_DATA+= examples/ocsp_responder/ocsp_responder.c
DISTCLEANFILES+= examples/ocsp_responder/.libs/ocsp_responder
Loading