wolfSSL Example Applications

wolfSSL has some example applications located in a GitHub repository that many users find helpful when getting started with using wolfSSL. Some of the example applications cover using wolfSSL with Android, µTasker, X509 field extraction, and DTLS.

Below are some more details on the examples provided by wolfSSL:

  • android (Android NDK)
    This directory contains examples that demonstrate using wolfSSL and wolfSSLJNI on the Android platform, using the Android NDK toolchain.
  • 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 securley without BTLE pairing.
  • 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.
  • certgen
    Contains examples on how to generate and sign certificates
  • certmanager (wolfSSL CertManager)
    This directory contains examples that demonstrate using the wolfSSL CertManager (Certificate Manager) functionality.
  • crypto
    The Crypto directory contains example applications showing how to perform 3DES, AES, Camellia, PKCS#12 encryption, and ECC key storage/loading.
  • custom-io-callbacks
    This directory demonstrates how the custom IO callbacks can be used to facilitate a TLS connection using any medium.
  • 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.
  • ecc
    Various Elliptic Curve Cryptography (ECC) examples including signing, verifying, decoding, and more.
  • pkcs7
    PKCS7 verification example
  • psk
    This directory contains examples of using PSK, with client and server examples demonstrating TCP/IP, PSK, non-blocking, session resumption, and multi-threading.
  • SGX_Linux
    This directory contains an example application, written in C, which demonstrates how to link with the wolfSSL lightweight SSL/TLS library with a simple Enclave using Linux.
  • SGX_Windows
    This directory contains an example application, written in C, which demonstrates how to link with the wolfSSL lightweight SSL/TLS library with a simple Enclave using Windows.
  • signature
    This directory contains a simple example of using wolfSSL to sign and verify binary data. It supports RSA and ECC for signing and MD2, MD4, MD5, SHA, SHA256, SHA384 and SHA512.
  • 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.
  • utasker (µTasker wolfSSL example tasks)
    Example µTasker client and server tasks that demonstrate using wolfSSL with the µTasker stack. These have been tested on the µTasker Simulator.
  • 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.

The wolfSSL example applications can be downloaded using a git-clone command from the GitHub repository here: https://github.com/wolfSSL/wolfssl-examples

In addition, the README contains extra information about each example application and can be viewed here: https://github.com/wolfSSL/wolfssl-examples/blob/master/README.md. Some of the example application directories may also include an extra README as well, if the steps to run the examples are more complex.

If having trouble, feel free to contact support or view more information on contacting the wolfSSL team here: https://www.wolfssl.com/contact/.