| Crates.io | comprehensive_tls |
| lib.rs | comprehensive_tls |
| version | 0.3.2 |
| created_at | 2025-05-16 14:58:32.546666+00 |
| updated_at | 2025-07-27 16:03:50.432622+00 |
| description | A harness for creating consistently-shaped servers will less boilerplate |
| homepage | https://github.com/vandry/comprehensive |
| repository | https://github.com/vandry/comprehensive.git |
| max_upload_size | |
| id | 1676571 |
| size | 175,590 |
TLS support for Comprenehsive
TLS functionality is made available to the [comprehensive::Assembly]
through an abstract [comprehensive::Resource] called [TlsConfig]
which dispatches to various concrete providers. The concrete providers
may source TLS configuration from different places such as files on disk
or the local SPIFFE agent etc...All implement the trait
[TlsConfigProvider].
TLS parameters for clients and servers will be available to the
assembly as long as one concrete provider is present, initialises
successfully, and supplies data. If more than one concrete provider
does so then [TlsConfig] will select between them using such hints
as might be available such as SNI; all providers will get a chance
to verify remote peers.
A simple "built-in default" provider [TlsConfigFiles] is implemented
in this crate which just loads a key, certificate, and trust bundle from
files named on the command line. Others exist in other crates.