- Add configuration requirements for each example - Document hardware dependencies for UART examples - Add troubleshooting guide - Categorize examples by functionality - Add TLS 1.3 resume certificate requirements Co-Authored-By: eric@wolfssl.com <eric@wolfssl.com> |
||
---|---|---|
.. | ||
VisualGDB-tls | ||
Makefile | ||
README.md | ||
client-ech-local.c | ||
client-ech.c | ||
client-tcp.c | ||
client-tls-bio.c | ||
client-tls-cacb.c | ||
client-tls-callback.c | ||
client-tls-cryptocb.c | ||
client-tls-ecdhe.c | ||
client-tls-nonblocking.c | ||
client-tls-perf.c | ||
client-tls-pkcallback.c | ||
client-tls-pkcs12.c | ||
client-tls-resume.c | ||
client-tls-uart.c | ||
client-tls-writedup.c | ||
client-tls.c | ||
client-tls13-resume.c | ||
client-tls13.c | ||
cryptocb-common.c | ||
cryptocb-common.h | ||
memory-tls.c | ||
server-ech-local.c | ||
server-tcp.c | ||
server-tls-callback.c | ||
server-tls-cryptocb.c | ||
server-tls-ecdhe.c | ||
server-tls-epoll-perf.c | ||
server-tls-epoll-threaded.c | ||
server-tls-nonblocking.c | ||
server-tls-pkcallback.c | ||
server-tls-poll-perf.c | ||
server-tls-threaded.c | ||
server-tls-uart.c | ||
server-tls-verifycallback.c | ||
server-tls-writedup.c | ||
server-tls.c | ||
server-tls13.c | ||
uart_requirements.md |
README.md
wolfSSL TLS Example Applications
This directory contains example applications demonstrating various wolfSSL TLS features.
Building the Examples
make
Configuration Requirements
Some examples require specific wolfSSL configuration options:
PKCallback Examples (client-tls-pkcallback, server-tls-pkcallback)
- Requires:
--enable-pkcallbacks
- Purpose: Enable public key callback functionality
- Error if not enabled: "PK not compiled in"
TLS BIO and PKCS12 Examples (client-tls-bio, client-tls-pkcs12)
- Requires:
--enable-opensslextra
and--enable-des3
- Purpose: OpenSSL compatibility layer and DES3 for PKCS12
- Error if not enabled: "requires --enable-opensslextra" or "wolfSSL not configured with --enable-des3"
CryptoCB Examples (client-tls-cryptocb, server-tls-cryptocb)
- Requires:
--enable-cryptocb
- Purpose: Enable crypto callback interface
- Error if not enabled: "Please configure wolfSSL with --enable-cryptocb"
WriteUp Examples (client-tls-writedup, server-tls-writedup)
- Requires:
--enable-writedup
- Purpose: Enable file descriptor duplication
- Error if not enabled: "wolfSSL not configured with --enable-writedup"
ECH Examples (client-ech, server-ech-local)
- Requires:
--enable-ech
- Purpose: Enable Encrypted Client Hello support
- Error if not enabled: "Please build wolfssl with --enable-ech"
TLS 1.3 Resume Example (client-tls13-resume)
- Requires: Client certificates (same as client-tls13)
- Files needed:
- CERT_FILE: "../certs/client-cert.pem"
- KEY_FILE: "../certs/client-key.pem"
- CA_FILE: "../certs/ca-cert.pem"
Hardware Dependencies
UART Examples (client-tls-uart, server-tls-uart)
See UART Requirements for detailed setup instructions.
- Requires physical UART hardware
- Device must be accessible at /dev/ttyUSB0
- Cannot be tested in virtual environments
Troubleshooting
- Missing Configuration
# Configure wolfSSL with all required features
cd ~/repos/wolfssl
./configure --enable-pkcallbacks \
--enable-opensslextra \
--enable-cryptocb \
--enable-des3 \
--enable-writedup \
--enable-ech
make
sudo make install
- Certificate Issues
- Ensure all required certificates are in ../certs/ directory
- Check file permissions
- Verify certificate paths in example code
- Hardware Issues
- For UART examples, verify hardware connection
- Check device permissions
- Use alternative examples for testing when hardware is unavailable
Example Categories
- Basic TLS Examples
- client-tls / server-tls
- client-tls13 / server-tls13
- Session Resumption
- client-tls-resume (TLS 1.2)
- client-tls13-resume (TLS 1.3)
- Callback Examples
- client-tls-callback / server-tls-callback
- client-tls-cryptocb / server-tls-cryptocb
- client-tls-pkcallback / server-tls-pkcallback
- Performance Examples
- client-tls-perf
- server-tls-epoll-perf
- server-tls-poll-perf
- Special Features
- client-tls-ecdhe / server-tls-ecdhe
- client-tls-nonblocking / server-tls-nonblocking
- client-tls-writedup / server-tls-writedup
- memory-tls