34 lines
449 B
C++
34 lines
449 B
C++
|
#pragma once
|
||
|
|
||
|
#include <string>
|
||
|
|
||
|
#include <openssl/ssl.h>
|
||
|
#include <openssl/err.h>
|
||
|
|
||
|
namespace io
|
||
|
{
|
||
|
|
||
|
class Tls
|
||
|
{
|
||
|
public:
|
||
|
class Context
|
||
|
{
|
||
|
public:
|
||
|
Context();
|
||
|
~Context();
|
||
|
|
||
|
Context& cert(const std::string& path);
|
||
|
Context& key(const std::string& path);
|
||
|
|
||
|
operator SSL_CTX*() const { return ctx; }
|
||
|
|
||
|
private:
|
||
|
SSL_CTX* ctx;
|
||
|
};
|
||
|
|
||
|
static void initialize();
|
||
|
static void cleanup();
|
||
|
};
|
||
|
|
||
|
}
|