#mbed-tls #客户端-服务器 #模式

tlsimple

使用 Mbed-TLS 的 Rust 简单且小巧的 TLS 支持

4 个版本

0.2.2 2023 年 8 月 31 日
0.2.0 2023 年 8 月 28 日
0.1.2 2023 年 8 月 9 日
0.1.0 2023 年 7 月 17 日

#726加密

每月 31 次下载

MIT 许可证

5.5MB
107K SLoC

C 88K SLoC // 0.2% comments Rust 19K SLoC // 0.0% comments

tlsimple

使用 Mbed-TLS 为 Rust 提供简单且小巧的 TLS 支持。

特性

  • 支持异步和同步,服务端和客户端模式。同时为 Hyper 客户端提供 HttpsConnector

  • 轻量级,作为薄层(< 2K 行)。依赖项少。

  • 易于构建,只需 C 编译器即可。与 OpenSSL(需要 perl + autoconf + automake + 更多)不同。

路线图

  • 运行 Mbed-TLS 示例。
  • 使用 Mbed-TLS BIO(I/O 抽象)。
  • 尝试找出 Mbed-TLS 是否易于剥离。
  • 使用 AddressSanitizer 构建 Mbed-TLS。
  • 使用 AddressSanitizer 构建 Rust 可执行文件。
  • Rust 绑定原型已工作。
  • 完全控制构建进度,仅使用 gcc / ar 命令。
  • 修复 LeakSanitizer。
  • 使用 Rust cc crate 进行编译。
  • 绑定到 Rust。
  • 使用异步绑定到 Rust。
  • Miri, Loom, ThreadSanitizer 以及更多。
  • 设置 ALPN 以使用 HTTP 2。
  • 客户端模式。
  • 实现客户端模式证书验证。
  • 测试客户端模式证书验证是否工作。
  • 使用 Hyper 0.14 的客户端。
  • 使用 Hyper 1.0 rc 的客户端。
  • 在 Tokio 当前线程运行时上部署。
  • 修复在 Tokio 多线程运行时上的崩溃。
  • 比较 OpenSSL 和 Mbed-TLS。
  • 进一步剥离。
  • 测试是否在 Windows 上工作。
  • TLS 1.3。
  • 使用 mbedtls_ssl_cache_context 加速。
  • 使用上下文池提高性能。
  • 提高多线程性能。
  • 基准测试并与 OpenSSL / Rustls 比较。
  • 更好的错误代码到名称的转换。
  • 通过 GitHub Actions 进行 CI。
  • 处理底层 io 错误。
  • 关于关闭通知的更多内容?
  • 将 init 脚本端口到 build.rs。
  • 内核 TLS 转发.
  • 在 ksite 上部署。
  • 发布 & 宣布。

构建

感谢

简体中文

tlsimple

为 Rust 提供轻巧的 TLS 支持,基于 Mbed-TLS

特性

  • 支持异步与同步,服务端与客户端模式。同时为 Hyper 客户端提供 HttpsConnector

翻译仍在进行中...

依赖项

~0–12MB
~86K SLoC