Sese Framework  x.y.z
A cross-platform framework
载入中...
搜索中...
未找到
sese::security::SSLContext类 参考final

SSL 上下文 更多...

#include <SSLContext.h>

类 sese::security::SSLContext 继承关系图:

Public 类型

using Ptr = std::shared_ptr<SSLContext>
 
using Socket = sese::net::Socket
 

Public 成员函数

 SSLContext (const void *method) noexcept
 
 ~SSLContext () noexcept
 
void * getContext () const noexcept
 
bool importCertFile (const char *file) const noexcept
 从文件中加载证书
 
bool importPrivateKeyFile (const char *file) const noexcept
 从文件中加载私钥
 
bool authPrivateKey () const noexcept
 校验证书和私钥
 
Socket::Ptr newSocketPtr (Socket::Family family, int32_t flags)
 从当前上下文中创建一个 TCP Socket
 
void * release () noexcept
 释放当前对象的所有权
 
std::unique_ptr< SSLContextcopy () const noexcept
 

静态 Public 成员函数

static ErrorCode getErrorCode () noexcept
 

Private 成员函数

 SSLContext ()=default
 

Private 属性

void * context = nullptr
 

详细描述

SSL 上下文

成员类型定义说明

◆ Ptr

using sese::security::SSLContext::Ptr = std::shared_ptr<SSLContext>

◆ Socket

构造及析构函数说明

◆ SSLContext() [1/2]

SSLContext::SSLContext ( const void * method)
explicitnoexcept

◆ ~SSLContext()

SSLContext::~SSLContext ( )
noexcept

引用了 context.

◆ SSLContext() [2/2]

sese::security::SSLContext::SSLContext ( )
privatedefault

成员函数说明

◆ authPrivateKey()

bool SSLContext::authPrivateKey ( ) const
noexcept

校验证书和私钥

返回
校验结果

引用了 context.

◆ copy()

std::unique_ptr< SSLContext > SSLContext::copy ( ) const
noexcept

深拷贝当前上下文,包括证书和私钥(必须存在),生命周期独立

返回
SSL 上下文

引用了 context , 以及 MAKE_UNIQUE_PRIVATE.

◆ getContext()

void * SSLContext::getContext ( ) const
nodiscardnoexcept

引用了 context.

◆ getErrorCode()

sese::ErrorCode SSLContext::getErrorCode ( )
staticnoexcept

◆ importCertFile()

bool SSLContext::importCertFile ( const char * file) const
noexcept

从文件中加载证书

参数
file证书文件路径
返回
加载结果

◆ importPrivateKeyFile()

bool SSLContext::importPrivateKeyFile ( const char * file) const
noexcept

从文件中加载私钥

参数
file私钥文件路径
返回
加载结果

◆ newSocketPtr()

sese::net::Socket::Ptr SSLContext::newSocketPtr ( Socket::Family family,
int32_t flags )

从当前上下文中创建一个 TCP Socket

参数
family协议
flags标志
返回
创建完成的 Socket

引用了 context.

◆ release()

void * SSLContext::release ( )
noexcept

释放当前对象的所有权

警告
注意,此函数用于应对 asio::ssl::context 不遵循谁分配谁释放的原则,调用后对象将会失去对于 SSL_CTX 的掌控,除非你很清楚你在做什么,不然不可以使用这个函数,单纯需要获取 SSL_CTX 而不变更生命周期请使用 getContext
返回
底层 SSL_CTX 指针

引用了 context.

类成员变量说明

◆ context

void* sese::security::SSLContext::context = nullptr
private

该类的文档由以下文件生成: