Skip to content

Commit f9063c4

Browse files
committed
Enables dynamic TLS cert loading with OCSP
Exposes dynamic TLS certificate loading and OCSP stapling to allow applications to load certs lazily. The server no longer needs to load the CA to staple OCSP responses. Adds a certificate setup callback (WOLFSSL_CERT_SETUP_CB) Adds an OCSP status callback to load OCSP responses directly Adds `wc_NewOCSP`, `wc_FreeOCSP`, and `wc_CheckCertOcspResponse` Don't call verify twice on the same error Send correct alert on status response error
1 parent ea4554c commit f9063c4

File tree

35 files changed

+1768
-404
lines changed

35 files changed

+1768
-404
lines changed

.github/workflows/os-check.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ jobs:
6161
'--enable-all CPPFLAGS=-DWOLFSSL_DEBUG_CERTS ',
6262
'--enable-all CFLAGS="-DWOLFSSL_CHECK_MEM_ZERO"',
6363
'--enable-coding=no',
64+
'--enable-dtls --enable-dtls13 --enable-ocspstapling --enable-ocspstapling2
65+
--enable-cert-setup-cb --enable-sessioncerts',
6466
]
6567
name: make check
6668
if: github.repository_owner == 'wolfssl'

IDE/GCC-ARM/Header/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ extern unsigned int my_rng_seed_gen(void);
521521
#define USE_WOLF_STRTOK
522522
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
523523

524-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
524+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
525525

526526
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
527527
#define XMEMSET(b,c,l) memset((b),(c),(l))

IDE/SimplicityStudio/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ extern "C" {
438438
#define USE_WOLF_STRTOK
439439
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
440440

441-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
441+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
442442

443443
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
444444
#define XMEMSET(b,c,l) memset((b),(c),(l))

IDE/WICED-STUDIO/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -515,7 +515,7 @@ extern unsigned int my_rng_seed_gen(void);
515515
#define USE_WOLF_STRTOK
516516
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
517517

518-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
518+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
519519

520520
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
521521
#define XMEMSET(b,c,l) memset((b),(c),(l))

IDE/WINCE/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -646,7 +646,7 @@ C149F3285397DFBD0C6720E14818475C3A50B10880EF9619463173A6D5ED15E7
646646
#define USE_WOLF_STRTOK
647647
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
648648

649-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
649+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
650650

651651
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
652652
#define XMEMSET(b,c,l) memset((b),(c),(l))

IDE/XCODE-FIPSv2/macOS-C++/Intel/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ extern "C" {
512512
#define USE_WOLF_STRTOK
513513
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
514514

515-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
515+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
516516

517517
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
518518
#define XMEMSET(b,c,l) memset((b),(c),(l))

IDE/XCODE-FIPSv2/macOS-C++/M1/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ extern "C" {
523523
#define USE_WOLF_STRTOK
524524
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
525525

526-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
526+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
527527

528528
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
529529
#define XMEMSET(b,c,l) memset((b),(c),(l))

IDE/XCODE-FIPSv2/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -524,7 +524,7 @@ extern "C" {
524524
#define USE_WOLF_STRTOK
525525
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
526526

527-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
527+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
528528

529529
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
530530
#define XMEMSET(b,c,l) memset((b),(c),(l))

IDE/XCODE-FIPSv5/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -605,7 +605,7 @@ extern "C" {
605605
#define USE_WOLF_STRTOK
606606
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
607607

608-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
608+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
609609

610610
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
611611
#define XMEMSET(b,c,l) memset((b),(c),(l))

IDE/XCODE-FIPSv6/user_settings.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -665,7 +665,7 @@ extern "C" {
665665
#define USE_WOLF_STRTOK
666666
#define XSTRTOK(s1,d,ptr) wc_strtok((s1),(d),(ptr))
667667

668-
#define XSTRNSTR(s1,s2,n) mystrnstr((s1),(s2),(n))
668+
#define XSTRNSTR(s1,s2,n) wolfSSL_strnstr((s1),(s2),(n))
669669

670670
#define XMEMCPY(d,s,l) memcpy((d),(s),(l))
671671
#define XMEMSET(b,c,l) memset((b),(c),(l))

0 commit comments

Comments
 (0)