9 个重大版本发布

0.13.0 2024年1月18日
0.12.0 2023年2月2日
0.11.0 2020年12月9日
0.10.0 2020年9月9日
0.1.0 2019年5月31日

#786异步

Download history 9876/week @ 2024-03-14 12842/week @ 2024-03-21 9663/week @ 2024-03-28 12840/week @ 2024-04-04 11495/week @ 2024-04-11 14431/week @ 2024-04-18 10910/week @ 2024-04-25 10621/week @ 2024-05-02 13779/week @ 2024-05-09 20094/week @ 2024-05-16 13803/week @ 2024-05-23 13076/week @ 2024-05-30 13390/week @ 2024-06-06 14687/week @ 2024-06-13 13157/week @ 2024-06-20 7523/week @ 2024-06-27

51,592 每月下载量
不到 35 crates 中使用

MIT/Apache

51KB
1K SLoC

async-tls

使用 Rustls 进行异步 TLS/SSL 流。


维护通知

我,Florian Gilcher,目前是 async-tls 的主要维护者。由于一般工作量,我希望将维护工作转交给其他人,这些人能够承担 async-tls 的总体愿景。

  • 运行时独立性
  • 后端独立性(目前未实现)
  • 专注于基于 用例 的配置,而不是公开所有配置

我期望申请维护者职位的人最初至少投入 4 小时的每周时间,因此我建议首先获得公司支持。这个数字不是严格的,但我想提高维护质量。我愿意接受多个维护者。

我承诺在前两个月每周进行 30 分钟的反馈 - 在交接初期会更多。

如果您感兴趣,请通过 电子邮件 与我联系。

功能

async-tls 可用于服务器和客户端程序。为了节省编译时间,您可以关闭其中一部分以加快编译速度。

仅在使用客户端时使用async-tls,请禁用默认功能并使用“客户端”功能。

[dependencies.async-tls]
version = "0.8"
default-features = false
features = ["client"]

仅在使用服务器端时使用async-tls,请禁用默认功能并使用“服务器”功能。

[dependencies.async-tls]
version = "0.8"
default-features = false
features = ["server"]

简单客户端

use async_tls::TlsConnector;
use async_std::net::TcpStream;

// ...

let tcp_stream = TcpStream::connect("rust-lang.org:443").await?;
let connector = TlsConnector::default();
let mut tls_stream = connector.connect("www.rust-lang.org", tcp_stream).await?;

// ...

客户端示例程序

请参阅 examples/client。您可以通过以下方式运行它

cd examples/client
cargo run -- hsts.badssl.com

服务器示例程序

请参阅 examples/server。您可以通过以下方式运行它

cd examples/server
cargo run -- 127.0.0.1:8080 --cert ../../tests/end.cert --key ../../tests/end.rsa

并将客户端指向它

cd examples/client
cargo run -- 127.0.0.1 --port 8080 --domain localhost --cafile ../../tests/end.chain

注意:不要在任何地方使用这些证书文件,除了测试之外!

安全性

该crate使用#![deny(unsafe_code)]来确保所有内容都是100%安全Rust实现的。

许可证 & 来源

该项目根据您的选择受以下任一许可证的许可

您选择。

这最初是从tokio-rustls分叉出来的。

贡献

除非您明确声明,否则任何根据Apache-2.0许可证定义的、有意提交给async-tls以包含在内的贡献,都将根据上述内容双重许可,没有任何附加条款或条件。

依赖关系

~7–15MB
~273K SLoC