25 friend class AbstractTlsSocket;
31 TlsContext(
const TlsContext &);
32 TlsContext(
const TlsContext &&) =
delete;
34 TlsContext &operator=(
const TlsContext &);
43 bool setDefaultVerifyPaths();
46 bool verifyCertificate()
const;
48 bool generateKey(
int = 2048);
49 bool generateCertificate(
const std::vector<std::pair<std::string, std::string>> & = {{
"CN",
"Root-CA"}},
const std::string & = {},
const std::string & =
"CA:TRUE,pathlen:1",
int = 365);
50 DataArray generateRequest(
const std::vector<std::pair<std::string, std::string>> &,
const std::string & = {},
const std::string & = {} );
53 std::string commonName()
const;
55 std::string infoKey()
const;
56 std::string infoCertificate()
const;
57 std::string infoTrusted()
const;
59 static std::string infoKey(
const DataArray &);
60 static std::string infoCertificate(
const DataArray &);
61 static std::string infoRequest(
const DataArray &);
63 static std::string errorString();
64 static std::string allErrorStrings();
67 void setVerifyPeer(
bool);
68 std::string &verifyName()
const;
69 void setVerifyName(
const std::string &)
const;
70 void setIgnoreErrors(uint8_t)
const;
73 static int verify(
int ok, x509_store_ctx_st *ctx);
74 ssl_ctx_st *opensslCtx()
const;
The TlsContext class provides functionality for managing TLS certificates.
Definition TlsContext.h:24