Skip to content

oatpp/oatpp-openssl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oatpp-openssl Build Status

This submodule provides secure server and client connection providers for oatpp applications. Based on OpenSSL.

More about oat++:

Requires

OpenSSL installed.

Create server connection provider

#include "oatpp-openssl/server/ConnectionProvider.hpp"
#include "oatpp-openssl/Config.hpp"

...

const char* pemFile = "path/to/file.pem";
const char* crtFile = "path/to/file.crt";

auto config = oatpp::openssl::Config::createDefaultServerConfig(pemFile, crtFile);
auto connectionProvider = oatpp::openssl::server::ConnectionProvider::createShared(config, {"localhost", 8443});

Create client connection provider

#include "oatpp-openssl/client/ConnectionProvider.hpp"
#include "oatpp-openssl/Config.hpp"

...

auto config = oatpp::openssl::Config::createShared();
auto connectionProvider = oatpp::openssl::client::ConnectionProvider::createShared(config, {"httpbin.org", 443});

Don't forget!

Set openssl lockingCallback and SIGPIPE handler on program start!

#include "oatpp-openssl/Callbacks.hpp"

...

/* set lockingCallback for openssl */
oatpp::openssl::Callbacks::setDefaultCallbacks();
#include <csignal>

...

/* ignore SIGPIPE */
std::signal(SIGPIPE, SIG_IGN);