class axl::io::SslCtx
#include <axl_io_SslCtx.h>
class SslCtx: public axl::sl::Handle
{
public:
// methods
bool
create(const SSL_METHOD* method = SSLv23_method());
long
getOptions();
long
setOptions(long options);
long
clearOptions(long options);
void
setInfoCallback(SslInfoCallbackFunc* callbackFunc);
int
getVerifyDepth();
void
setVerifyDepth(int depth);
int
getVerifyMode();
void
setVerifyMode(int mode);
void
setVerify(
int mode,
SslVerifyCallbackFunc* callbackFunc
);
bool
loadVerifyLocations(
const sl::StringRef& caFileName,
const sl::StringRef& caDir = sl::StringRef()
);
bool
setTmpDh(DH* dh);
void
setTmpDhCallback(SslTmpDhCallbackFunc* callback);
bool
setTmpEcdh(EC_KEY* ecKey);
bool
setCipherList(const sl::StringRef& listString);
X509*
getCertificate() const;
bool
useCertificate(const X509* cert);
bool
useCertificateFile(
const sl::StringRef& fileName,
int fileType = SSL_FILETYPE_PEM
);
EVP_PKEY*
getPrivateKey() const;
bool
usePrivateKey(const EVP_PKEY* key);
bool
usePrivateKeyFile(
const sl::StringRef& fileName,
int fileType = SSL_FILETYPE_PEM
);
bool
addExtraChainCertificate(const X509* cert);
void
clearExtraChainCertificates();
};