TLS 安全流
更多...
#include <rmvl/io/ssl.hpp>
TLS 安全流
SSLStream 包装一个已经建立 TCP 连接的 StreamSocket,在其上执行 TLS 握手、 加密读取与加密写入。未启用 OpenSSL 时,该类仍可被包含,但实例不可用。
◆ SSLStream() [1/3]
由已有 TCP 流式 Socket 创建 TLS 流
◆ SSLStream() [2/3]
| rm::SSLStream::SSLStream |
( |
const SSLStream & | | ) |
|
|
delete |
◆ SSLStream() [3/3]
| rm::SSLStream::SSLStream |
( |
SSLStream && | | ) |
|
|
defaultnoexcept |
◆ ~SSLStream()
| rm::SSLStream::~SSLStream |
( |
| ) |
|
◆ accept()
| bool rm::SSLStream::accept |
( |
| ) |
|
◆ close()
| void rm::SSLStream::close |
( |
| ) |
|
|
noexcept |
◆ connect()
| bool rm::SSLStream::connect |
( |
std::string_view | server_name = {} | ) |
|
执行客户端 TLS 握手
- 参数
-
| [in] | server_name | 服务器名称,用于 SNI,可为空 |
- 返回
- 握手是否成功
◆ context() [1/2]
| const SSLContext & rm::SSLStream::context |
( |
| ) |
const |
|
inlinenodiscardprotectednoexcept |
◆ context() [2/2]
|
|
inlinenodiscardprotectednoexcept |
◆ handshake()
| bool rm::SSLStream::handshake |
( |
std::string_view | server_name = {} | ) |
|
根据上下文模式执行 TLS 握手
- 参数
-
| [in] | server_name | 客户端模式下的 SNI,可为空 |
- 返回
- 握手是否成功
◆ invalid()
| bool rm::SSLStream::invalid |
( |
| ) |
const |
|
inlinenodiscardnoexcept |
◆ lasterr()
| std::string rm::SSLStream::lasterr |
( |
| ) |
const |
|
inlinenodiscard |
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ read()
| std::string rm::SSLStream::read |
( |
size_t | max_size = 65536 | ) |
|
|
noexcept |
◆ read_to()
| size_t rm::SSLStream::read_to |
( |
char * | buf, |
|
|
size_t | size ) |
|
noexcept |
◆ socket() [1/2]
◆ socket() [2/2]
◆ write()
| bool rm::SSLStream::write |
( |
std::string_view | data | ) |
|
|
noexcept |