Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/oatpp/oatpp-openssl

OpenSSL adaptor for Oat++ applications
https://github.com/oatpp/oatpp-openssl

cpp oatpp openssl tls

Last synced: 4 days ago
JSON representation

OpenSSL adaptor for Oat++ applications

Awesome Lists containing this project

README

        

# oatpp-openssl [![Build Status](https://dev.azure.com/lganzzzo/lganzzzo/_apis/build/status/oatpp.oatpp-openssl?branchName=master)](https://dev.azure.com/lganzzzo/lganzzzo/_build/latest?definitionId=32&branchName=master)

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

More about oat++:
- Website: [https://oatpp.io](https://oatpp.io)

## Requires

OpenSSL installed.

### Create server connection provider

```cpp

#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::createDefaultServerConfigShared(pemFile, crtFile);
auto connectionProvider = oatpp::openssl::server::ConnectionProvider::createShared(config, {"localhost", 443});

```

### Create client connection provider

```cpp

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

...

const char* trust = "path/to/truststore";

auto config = oatpp::openssl::Config::createDefaultClientConfigShared();
config->addContextConfigurer(std::make_shared(trust, nullptr));
auto connectionProvider = oatpp::openssl::client::ConnectionProvider::createShared(config, {"httpbin.org", 443});

```