Example applications using the wolfSSL lightweight SSL/TLS library
 
 
 
 
 
 
Go to file
Kaleb Himes b5382f0e19
Merge pull request #257 from dgarske/spell
Spelling fixes
2021-06-09 11:12:25 -05:00
RT1060 Added "wolfCrypt_Init" for DCP initialization. 2020-09-23 13:18:49 +02:00
SGX_Linux Spelling fixes. 2021-06-09 09:07:40 -07:00
SGX_Windows update copyright to 2020 2020-01-03 16:08:42 -08:00
android update copyright to 2020 2020-01-03 16:08:42 -08:00
btle Spelling fixes. 2021-06-09 09:07:40 -07:00
certfields Spelling fixes. 2021-06-09 09:07:40 -07:00
certgen Spelling fixes. 2021-06-09 09:07:40 -07:00
certmanager Adding CM verify CB to example 2019-11-15 14:42:10 -06:00
certs add PKCS7 example of converting p7b to PEM 2021-03-16 14:31:43 -06:00
crypto Spelling fixes. 2021-06-09 09:07:40 -07:00
custom-io-callbacks Spelling fixes. 2021-06-09 09:07:40 -07:00
dtls Spelling fixes. 2021-06-09 09:07:40 -07:00
ecc Spelling fixes. 2021-06-09 09:07:40 -07:00
embedded Address other examples also based on peer feedback 2020-07-07 11:57:38 -06:00
freertos update copyright to 2020 2020-01-03 16:08:42 -08:00
hash Cleanup for chunk processing. Fix makefile error with lib. 2020-09-28 10:39:22 -07:00
java add java https url example 2020-02-03 12:21:45 -07:00
mynewt update copyright to 2020 2020-01-03 16:08:42 -08:00
picotcp Update picotcp/Makefile 2020-09-23 13:25:37 +02:00
pk Spelling fixes. 2021-06-09 09:07:40 -07:00
pkcs7 add PKCS7 example of converting p7b to PEM 2021-03-16 14:31:43 -06:00
pkcs11 Add PKCS#11 random number generator example 2020-06-25 09:13:48 +10:00
psk Spelling fixes. 2021-06-09 09:07:40 -07:00
riot-os-posix-lwip Improved README.md after reviewer's comments 2021-04-01 09:08:42 +02:00
signature Spelling fixes. 2021-06-09 09:07:40 -07:00
tirtos_ccs_examples update copyright to 2020 2020-01-03 16:08:42 -08:00
tls Spelling fixes. 2021-06-09 09:07:40 -07:00
utasker update copyright to 2020 2020-01-03 16:08:42 -08:00
wolfCLU Fix parsing of -pwd 2021-04-14 10:30:14 -05:00
.gitignore Merge pull request #206 from kaleb-himes/TEST_CERT_KEY_PAIR 2021-05-05 19:48:45 +07:00
.gitmodules add wolfCrypt JNI Android Studio example project 2018-11-20 14:28:54 -08:00
README.md Spelling fixes. 2021-06-09 09:07:40 -07:00

README.md

wolfSSL Example Applications

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.

Current Examples

utasker (uTasker wolfSSL Example Tasks)

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 utasker/README.md for further usage and details.

android (Android NDK Examples)

This directory contains examples that demonstrate using wolfSSL and wolfSSLJNI on the Android platform, using the Android NDK toolchain.

Please see the android/README.md for further usage and details.

certfields (X509 field extraction)

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 certfields/README.md for further usage and details.

certmanager (wolfSSL CertManager)

This directory contains examples that demonstrate using the wolfSSL CertManager (Certificate Manager) functionality.

Please see the certmanager/README.md for further usage and details.

wolfCLU (wolfSSL Command Line Utility)

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 clu/README.md for further usage and details.

Unique feature to wolfSSL CLU

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.

DTLS (Datagram TLS)

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

PSK (Pre-Shared Keys)

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

SSL/TLS

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

BTLE

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 securely without BTLE pairing.

Notes

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.

Support

Please contact wolfSSL at support@wolfssl.com with any questions, bug fixes, or suggested feature additions.