11 个版本 (7 个重大更新)
0.8.1 | 2024年6月29日 |
---|---|
0.7.0 | 2024年4月4日 |
0.6.0 | 2024年1月24日 |
0.4.0 | 2023年4月27日 |
0.1.0 | 2021年6月7日 |
#1218 在 HTTP 服务器
每月 1,755 次下载
用于 8 个 Crates (7 个直接使用)
78KB
1.5K SLoC
欢迎使用 Trillium!
📖 指南 📖
本指南提供了架构概述以及连接 trillium Crates 的地形。
📑 Rustdocs 📑
rustdocs 是了解 trillium 的任何单个 Crates 和特定接口的最佳方式。
法律
许可以下其中之一
- Apache 许可证 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
除非您明确表示,否则您根据 Apache-2.0 许可证定义的任何有意提交的工作贡献,都应按上述方式双重许可,不附加任何额外条款或条件。
lib.rs
:
此 Crates 为 trillium 客户端 (RustlsConnector
) 和服务器 (RustlsAcceptor
) 提供了 rustls 特性实现。
Cargo 功能
此 Crates 的默认功能对大多数用户来说应该是合适的。要减少依赖项或自定义 trillium-rustls 对 rustls 的使用,请禁用默认功能,并重新启用适合您用例的功能。
server
和 client
功能
此 Crates 提供了一个 server
功能和一个 client
功能。禁用默认功能可以避免为未使用的其他组件构建任何依赖项。默认情况下,都启用了 server
和 client
功能。
加密后端选择
Rustls 支持可插拔的加密后端以及进程默认的加密后端。有两个内置的特制功能加密后端和其他社区提供的加密后端。
⚠️ 有三个加密后端 cargo 功能,它们的行为与 rustls 功能不同。请阅读以下章节。⚠️
trillium-rustls
尽可能避免运行时恐慌,因此如果没有有效的加密后端编译此 crate 将导致编译时错误。要选择 rustls 的默认进程默认行为,请启用以下所述的 custom-crypto-provider
。启用多个加密提供者将在以下顺序中在编译时选择其中一个
aws-lc-rs
这是与 rustls 默认一致的默认加密后端。如果启用了此功能,将选择此后端。如果选择其他两个加密后端中的任何一个,trillium-rustls 将记录错误但使用 aws-lc-rs
。
ring
如果启用了此功能,即使启用了 custom-crypto-provider
,也会选择此后端。
custom-crypto-provider
为了使用除上述两种选项之外的加密提供者,请启用 custom-crypto-provider
功能,并配置一个 trillium_rustls::rustls::ClientConfig
或 trillium_rustls::rustls::ServerConfig
以将等效的 trillium-rustls
类型转换为自身,或者在执行 trillium-rustls 代码之前使用 trillium_rustls::rustls::crypto::CryptoProvider::install_default
安装自定义的进程默认加密提供者。
客户端验证器
此 crate 为客户端使用提供了 platform-verifier
功能,该功能使用所选的加密后端构建 ClientConfig 并使用 rustls-platform-verifier
。此功能默认启用。如果您禁用此功能,将使用 webpki_roots
。
依赖关系
~14–38MB
~1M SLoC