Skip to content

oatpp/oatpp-wolfssl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oatpp-wolfssl

Oatpp TLS adaptor for wolfSSL.

See more:

THIS MODULE IS NOT READY TO USE

oatpp-wolfssl Build Status

oatpp-wolfssl - extension for Oat++ Web Framework.
It provides secure server and client connection providers for oatpp applications. Based on wolfSSL.
Supports only "Simple" oatpp API.

See more:

How To Build

Requires

  • wolfSSL installed.

Build And Install oatpp-wolfssl

If wolfSSL was installed to a standard location:

cmake -B build -S .
cmake --build build

APIs

Server

ConnectionProvider

Create ConnectionProvider

const char* serverCertificateFile = "path/to/server/certificate";
const char* serverPrivateKeyFile = "path/to/server/private/key";

/* Create Config */
auto config = oatpp::wolfssl::Config::createDefaultServerConfigShared(serverCertificateFile, serverPrivateKeyFile);

/* Create Secure Connection Provider */
auto connectionProvider = oatpp::wolfssl::server::ConnectionProvider::createShared(config, {"localhost" /* host */, 443 /* port */});

/* Get Secure Connection Stream */
auto connection = connectionProvider->getConnection();

Custom Transport Stream

Create ConnectionProvider with custom transport stream.

const char* serverCertificateFile = "path/to/server/certificate";
const char* serverPrivateKeyFile = "path/to/server/private/key";

/* Create Config */
auto config = oatpp::wolfssl::Config::createDefaultServerConfigShared(serverCertificateFile, serverPrivateKeyFile);

/* Create Transport Stream Provider */
/* Replace With Your Custom Transport Stream Provider */
auto transportStreamProvider = oatpp::network::tcp::server::ConnectionProvider::createShared({"localhost" /* host */, 443 /* port */});

/* Create Secure Connection Provider */
auto connectionProvider = oatpp::wolfssl::server::ConnectionProvider::createShared(config, transportStreamProvider);

/* Get Secure Connection Stream over Custom Transport Stream */
auto connection = connectionProvider->getConnection();

Note: To use oatpp-wolfssl for server connections with custom transport stream you should implement:

Client

ConnectionProvider

Create ConnectionProvider

/* Create Config */
auto config = oatpp::wolfssl::Config::createDefaultClientConfigShared();

/* Create Secure Connection Provider */
auto connectionProvider = oatpp::wolfssl::client::ConnectionProvider::createShared(config, {"httpbin.org", 443 /* port */});

/* Get Secure Connection Stream */
auto connection = connectionProvider->getConnection();

Custom Transport Stream

Create ConnectionProvider with custom transport stream.

/* Create Config */
auto config = oatpp::wolfssl::Config::createDefaultClientConfigShared();

/* Create Transport Stream Provider */
/* Replace With Your Custom Transport Stream Provider */
auto transportStreamProvider = oatpp::network::client::SimpleTCPConnectionProvider::createShared({"httpbin.org", 443 /* port */});

/* Create Secure Connection Provider */
auto connectionProvider = oatpp::wolfssl::client::ConnectionProvider::createShared(config, transportStreamProvider);

/* Get Secure Connection Stream over Custom Transport Stream */
auto connection = connectionProvider->getConnection();

Note: To use oatpp-wolfssl for client connections with custom transport stream you should implement:

See more