wolfssl/examples
Sean Parkinson a39a04fc88 PEM example: new example for convert between PEM and DER
PEM example converts PEM to DER and DER to PEM.
Supports encrypting DER and writing out as PEM.

Added better support for 40-bit RC2-CBC PBE.
Added AES-128-CBC encryption support with PKCS#5v2.
Fixed handling of iterations to support writing 24-bit values.
Declared enum types for pass to PKCS#8 encryption APIs.

Add more DER and PEM files to certs directory.
Add testing of 'pem' with pem.test script.
2023-07-03 17:20:35 +10:00
..
asn1 ASN.1 print: implementation to parse and print added 2023-05-04 09:57:44 +10:00
benchmark Refactor HAVE_PTHREAD and _POSIX_THREADS (#6536) 2023-06-26 07:32:20 -07:00
client Merge pull request #6434 from TakayukiMatsuo/fixtypo 2023-06-28 11:20:42 +09:00
configs Update EBSNET port 2023-06-21 15:52:42 -05:00
echoclient update copyright to 2023 2022-12-30 17:12:11 -07:00
echoserver Refactor HAVE_PTHREAD and _POSIX_THREADS (#6536) 2023-06-26 07:32:20 -07:00
pem PEM example: new example for convert between PEM and DER 2023-07-03 17:20:35 +10:00
sctp update copyright to 2023 2022-12-30 17:12:11 -07:00
server Refactor HAVE_PTHREAD and _POSIX_THREADS (#6536) 2023-06-26 07:32:20 -07:00
README.md
include.am PEM example: new example for convert between PEM and DER 2023-07-03 17:20:35 +10:00

README.md

wolfSSL examples directory

client and server

These directories contain a client (client.c) and server (server.c) that utilize a variety of the wolfSSL library's capabilities. The manner in which both programs operate can depend on the configure or can be specified at run-time depending on the end goal. Both applications contain testing as well as benchmarking code.

Compile

./configure
make

Usage

./examples/server/server

./examples/client/client

Run ./examples/server/server -h and ./examples/client/client -h for usage details.

For simpler wolfSSL TLS server/client examples, visit https://github.com/wolfSSL/wolfssl-examples/tree/master/tls

echoclient and echoserver

These directories contain a client (echoclient.c) and server (echoserver.c) that establish a connection encrypted by wolfSSL. Like the names indicate, once the connection has been established any messages entered into echoclient are sent to and displayed on the echoserver and are then echoed back to echoclient. The nature of the encryption, as well as additional behavior of the two programs, depends on how wolfSSL was configured ( DTLS enabled/disabled, Filesystem enabled/disabled, etc ... ).

Compile

./configure
make

Usage

./examples/echoserver/echoserver

./examples/echoclient/echoclient

benchmark

The benchmark directory offers an application that can help you grasp just how well wolfSSL's TLS functionality is performing on your local machine.

Compile

./configure
make

Usage

./examples/benchmark/tls_bench

The tls_bench executable can also be compiled separately with gcc -lwolfssl -lpthread -o tls_bench tls_bench.c.

Run ./examples/benchmark/tls_bench -? for usage details.

sctp

This directory contains servers and clients that demonstrate wolfSSL's DTLS-SCTP support.

Compile

./configure --enable-sctp
make

Usage

./examples/sctp/sctp-server

./examples/sctp/sctp-client

and

./examples/sctp/sctp-server-dtls

./examples/sctp/sctp-client-dtls

configs

This directory contains example wolfSSL configuration file templates for use when autoconf is not available, such as building with a custom IDE.

See configs/README.md for more details.