SharkSSL™ Embedded SSL/TLS Stack
SharkSSL Examples

Client and server SSL/TLS examples. More...

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
 
 Simple Mail Transfer Protocol
 

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.

M2M Demos

The included M2M demos are client network programs designed to connect to a server, aka a broker. The demos include logic that functions very similarly to the WebSocket upgrade protocol, but without the extra logic required by the WebSocket upgrade and the WebSocket protocol.

The documentation for the two included M2M demos (m2m-chat.c) and (m2m-led.c) can be found at the following URL: https://realtimelogic.com/downloads/m2m/

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. The (m2m-chat.c) and (m2m-led.c) demos, also include a server certificate check, but the code is basic and was primarily designed to certify only one server.

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