This repository contains example applications, written in C, which demonstrate how to use the wolfSSL lightweight SSL/TLS library for secure communication.
Each directory represents a unique topic (SSL/TLS, DTLS, PSK, etc.) and contains a Makefile as well as a simple tutorial on the given topic.
This directory contains example uTasker client and server tasks that demonstrate using wolfSSL with the uTasker stack. These have been tested on the uTasker Simulator.
Please see the README.md in utasker/ for further usage and details.
This directory contains examples that demonstrate using wolfSSL and wolfSSLJNI on the Android platform, using the Android NDK toolchain.
Please see the README.md in android/ for further usage and details.
This directory contains an example that demonstrate using the wolfSSL to read a DER encoded certificate and extract the public key and subject name information.
Please see the README.md in certfields/ for further usage and details.
This directory contains examples that demonstrate using the wolfSSL CertManager (Certificate Manager) functionality.
Please see the README.md in certmanager/ for further usage and details.
This is a tool to provide command line access to wolfcrypt cryptographic libraries. wolfSSL command line utility will allow users to encrypt or decrypt a user specified file to any file name and extension.
Please see the README.md in clu/ for further usage and details.
The decision to allow for unique file extensions was prompted by automated tools available for brute forcing files. It will not provide extra security cryptographically however it will force attackers to check the header information on every single brute force attempt. This will provide further frustration and an extra step in any attempt to brute force a file encrypted with our utility.
This directory contains examples of using DTLS, with client and server examples demonstrating UDP, DTLS, non-blocking, session resumption, and multi-threading.
When compiling wolfSSL for use with these examples, wolfSSL will need to be compiled with DTLS support:
cd wolfssl-[version]
./configure --enable-dtls
Examples in this directory may be compiled using:
cd ./dtls
make
This directory contains examples of using PSK, with client and server examples demonstrating TCP/IP, PSK, non-blocking, session resumption, and multi-threading.
When compiling wolfSSL for use with these examples, wolfSSL will need to be compiled with PSK support:
cd wolfssl-[version]
./configure --enable-psk
Examples in this directory may be compiled using:
cd ./psk
make
This directory contains examples of using SSL/TLS, with client and server examples demonstrating TCP/IP, SSL/TLS, non-blocking, session resumption, and multi-threading.
Examples in this directory may be compiled using:
cd ./tls
make
This directory contains examples for securing a Bluetooth Low Energy Link (BTLE). BTLE packets are small and throughput is low, so these examples demonstrate a way to exchange data securley without BTLE pariing.
When necessary, examples will use the example certificates and keys located in the ./certs directory. These certificates and keys have been pulled in from the main wolfSSL repository.
Please contact wolfSSL at [email protected] with any questions, bug fixes, or suggested feature additions.