#rustls #优势 #服务器 #客户端 #tcp流 #加密 #pem

已删除 tcps

非常轻量级的封装,以充分利用 rustls 的功能

1 个不稳定版本

0.1.0 2023年7月12日

#3#优势

MIT/Apache

7KB
116 代码行

TCps

  • 加密的 TCP 流。
  • 支持服务器和客户端。
  • 非常轻量。
  • 充分利用 rustls。
  • 开箱即用。

用法

let stream = accept(...); // Create a std::net::TcpStream.
let config = tcps::server_config_from_pem_file(cert,key,ca); // Create tls config.
let encrypted = tcps::server_wrapper(stream,config); // Create a encrypted stream.
encrypted.write_all(...) // We're using mTLS now.

API

fn server_wrapper(
    tcp: TcpStream,
    config: Arc<ServerConfig>,
) -> StreamOwned<ServerConnection, TcpStream>;

将现有的 std::net::TcpStream 转换为 rustls::StreamOwned<...>

fn server_config_from_pem_file(
    cert: Vec<u8>, 
    key: Vec<u8>, 
    ca: Vec<u8>
) -> Arc<ServerConfig>;

从 PEM 文件创建 rustls::ServerConfig

依赖项

~7–15MB
~276K SLoC