65 lines
2.7 KiB
Markdown
65 lines
2.7 KiB
Markdown
|
|
# hyper-rustls
|
||
|
|
|
||
|
|
This is an integration between the [Rustls TLS stack](https://github.com/rustls/rustls) and the
|
||
|
|
[hyper HTTP library](https://github.com/hyperium/hyper).
|
||
|
|
|
||
|
|
[](https://github.com/rustls/hyper-rustls/actions)
|
||
|
|
[](https://crates.io/crates/hyper-rustls)
|
||
|
|
[](https://docs.rs/hyper-rustls)
|
||
|
|
|
||
|
|
# Release history
|
||
|
|
|
||
|
|
Release history can be found [on GitHub](https://github.com/rustls/hyper-rustls/releases).
|
||
|
|
|
||
|
|
# License
|
||
|
|
|
||
|
|
hyper-rustls is distributed under the following three licenses:
|
||
|
|
|
||
|
|
- Apache License version 2.0.
|
||
|
|
- MIT license.
|
||
|
|
- ISC license.
|
||
|
|
|
||
|
|
These are included as LICENSE-APACHE, LICENSE-MIT and LICENSE-ISC respectively. You may use this
|
||
|
|
software under the terms of any of these licenses, at your option.
|
||
|
|
|
||
|
|
## Running examples
|
||
|
|
|
||
|
|
### server
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cargo run --example server
|
||
|
|
```
|
||
|
|
|
||
|
|
### client
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cargo run --example client "https://docs.rs/hyper-rustls/latest/hyper_rustls/"
|
||
|
|
```
|
||
|
|
|
||
|
|
## Crate features
|
||
|
|
|
||
|
|
This crate exposes a number of features to add support for different portions of `hyper-util`,
|
||
|
|
`rustls`, and other dependencies.
|
||
|
|
|
||
|
|
| Feature flag | Enabled by default | Description |
|
||
|
|
| ------------ | ------------------ | ----------- |
|
||
|
|
| `aws-lc-rs` | **yes** | Enables use of the [AWS-LC][aws-lc-rs] backend for [`rustls`][rustls] |
|
||
|
|
| `http1` | **yes** | Enables HTTP/1 support in [`hyper-util`][hyper-util] |
|
||
|
|
| `http2` | **no** | Enables HTTP/2 support in [`hyper-util`][hyper-util] |
|
||
|
|
| `webpki-tokio` | **no** | Uses a compiled-in set of root certificates trusted by Mozilla (via [`webpki-roots`][webpki-roots]) |
|
||
|
|
| `native-tokio` | **yes** | Use the platform's native certificate store at runtime (via [`rustls-native-certs`][rustls-native-certs]) |
|
||
|
|
| `rustls-platform-verifier` | **no** | Use the operating system's verifier for certificate verification (via [`rustls-platform-verifier`][rustls-platform-verifier]) |
|
||
|
|
| `ring` | **no** | Enables use of the [`ring`][ring] backend for [`rustls`][rustls] |
|
||
|
|
| `tls12` | **yes** | Enables support for TLS 1.2 (only TLS 1.3 supported when disabled) |
|
||
|
|
| `logging` | **yes** | Enables logging of protocol-level diagnostics and errors via [`log`][log] |
|
||
|
|
| `fips` | **no** | Enables support for using a FIPS 140-3 compliant backend via AWS-LC (enables `aws-lc-rs` feature) |
|
||
|
|
|
||
|
|
[aws-lc-rs]: https://docs.rs/aws-lc-rs
|
||
|
|
[rustls]: https://docs.rs/rustls
|
||
|
|
[hyper-util]: https://docs.rs/hyper-util
|
||
|
|
[webpki-roots]: https://docs.rs/webpki-roots
|
||
|
|
[rustls-native-certs]: https://docs.rs/rustls-native-certs
|
||
|
|
[rustls-platform-verifier]: https://docs.rs/rustls-platform-verifier
|
||
|
|
[ring]: https://docs.rs/ring
|
||
|
|
[log]: https://docs.rs/log
|