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 在 异步
51,592 每月下载量
在 不到 35 crates 中使用
51KB
1K SLoC
async-tls
维护通知
我,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实现的。
许可证 & 来源
该项目根据您的选择受以下任一许可证的许可
- Apache License,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您选择。
这最初是从tokio-rustls分叉出来的。
贡献
除非您明确声明,否则任何根据Apache-2.0许可证定义的、有意提交给async-tls以包含在内的贡献,都将根据上述内容双重许可,没有任何附加条款或条件。
依赖关系
~7–15MB
~273K SLoC