SharkSSL™ Embedded SSL/TLS Stack
SharkSSL Examples

Detailed Description

Client and server SSL/TLS examples.

See the examples getting started guide for an introduction to the examples.

Client Example Programs

A client program is a network program that opens and establishes a connection to a server.

WebSocket Client Library

We include a generic WebSocket client library and an example program that demonstrates use of the library:

SMTP (Simple Mail Transfer Protocol)

A generic secure SMTP library. SMTP is a common method for sending notifications from devices.

Server Example Programs

A server program is a network program that waits for and responds to requests from client network programs.

WebSocket Server Library

The MinnowServer is a secure WebSocket server library. The two demo programs WsChatServer.c and WsLedServer.c show how to use the APIs in the WebSocket server library.

Certificate Management Example Programs

The source file (CertCheck.c) shows how to implement a full server certificate check. The code includes most common root certificates, so it should technically be able to certify any server on the internet with a valid certificate.

SharkSSL Socket Library

The source file selib.c includes a generic TCP/IP socket wrapper around the transport agnostic SharkSSL API. All SharkSSL socket examples/demos use this library.

Example Makefiles

Makefiles and project files can be found in ../build

Modules

 Minnow Server
 Compact HTTPS and WebSocket Server.
 
 SharkMQ
 A secure SimpleMQ client designed for SharkSSL.
 
 SharkMQTT
 A secure MQTT client designed for SharkSSL.
 
 WebSocket Client Lib
 A compact WebSocket client library.
 
 SharkSSL Socket Example Lib
 The SharkSSL Socket Example Lib (selib.h/selib.c) is a basic module that wraps the transport agnostic SharkSSL functions for encoding and decoding into functions that interface to TCP/IP socket calls.
 
 Simple Mail Transfer Protocol
 A minimal secure SMTP client library (SMTPS and STARTTLS).