![]() |
RMVL
2.6.0-dev
Robotic Manipulation and Vision Library
|
TLS 安全流 更多...
#include <rmvl/io/ssl.hpp>
Public 成员函数 | |
| SSLStream (StreamSocket socket, SSLContext &ctx) | |
| 由已有 TCP 流式 Socket 创建 TLS 流 | |
| bool | invalid () const noexcept |
| TLS 流是否失效 | |
| const StreamSocket & | socket () const noexcept |
| 获取底层 Socket | |
| StreamSocket & | socket () noexcept |
| 获取底层 Socket | |
| std::string | lasterr () const |
| 获取最近一次错误信息 | |
| bool | connect (std::string_view server_name={}) |
| 执行客户端 TLS 握手 | |
| bool | accept () |
| 执行服务端 TLS 握手 | |
| bool | handshake (std::string_view server_name={}) |
| 根据上下文模式执行 TLS 握手 | |
| std::string | read (size_t max_size=65536) noexcept |
| 加密读取数据 | |
| size_t | read_to (char *buf, size_t size) noexcept |
| 加密读取数据到指定内存 | |
| bool | write (std::string_view data) noexcept |
| 加密写入数据 | |
| void | close () noexcept |
| 关闭 TLS 流与底层 Socket | |
Protected 成员函数 | |
| SSLContext & | context () noexcept |
| 获取 TLS 上下文 | |
| const SSLContext & | context () const noexcept |
| 获取 TLS 上下文 | |
TLS 安全流
SSLStream 包装一个已经建立 TCP 连接的 StreamSocket,在其上执行 TLS 握手、 加密读取与加密写入。未启用 OpenSSL 时,该类仍可被包含,但实例不可用。
| rm::SSLStream::SSLStream | ( | StreamSocket | socket, |
| SSLContext & | ctx ) |
由已有 TCP 流式 Socket 创建 TLS 流
| bool rm::SSLStream::accept | ( | ) |
执行服务端 TLS 握手
|
noexcept |
关闭 TLS 流与底层 Socket
| bool rm::SSLStream::connect | ( | std::string_view | server_name = {} | ) |
执行客户端 TLS 握手
| [in] | server_name | 服务器名称,用于 SNI,可为空 |
|
inlinenodiscardprotectednoexcept |
获取 TLS 上下文
|
inlinenodiscardprotectednoexcept |
获取 TLS 上下文
| bool rm::SSLStream::handshake | ( | std::string_view | server_name = {} | ) |
根据上下文模式执行 TLS 握手
| [in] | server_name | 客户端模式下的 SNI,可为空 |
|
inlinenodiscardnoexcept |
TLS 流是否失效
|
inlinenodiscard |
获取最近一次错误信息
|
noexcept |
加密读取数据
|
noexcept |
加密读取数据到指定内存
|
inlinenodiscardnoexcept |
获取底层 Socket
|
inlinenodiscardnoexcept |
获取底层 Socket
|
noexcept |
加密写入数据