trillium-native-tls 0.6.2

native-tls adapter for trillium.rs
Documentation

🔐 trillium-native-tls — TLS via native-tls

ci crates.io version docs.rs

TLS adapter for Trillium using native-tls, which delegates to the platform's built-in TLS implementation (SChannel on Windows, Secure Transport on macOS, OpenSSL on Linux). Provides NativeTlsAcceptor for servers and NativeTlsClientTransport for clients.

Example

use trillium::Conn;
use trillium_native_tls::NativeTlsAcceptor;

fn main() {
    let cert = std::fs::read("cert.pem").unwrap();
    let key = std::fs::read("key.pem").unwrap();
    let acceptor = NativeTlsAcceptor::from_cert_and_key(&cert, &key);
    trillium_smol::config()
        .with_acceptor(acceptor)
        .run(|conn: Conn| async move { conn.ok("https works") });
}

The key may be PKCS#8, PKCS#1 (RSA), or SEC1 (EC) PEM — the same inputs accepted by trillium-rustls and trillium-openssl. PKCS#12 archives are also supported via NativeTlsAcceptor::from_pkcs12(der, password) for callers who already have a password-protected bundle.

Safety

This crate uses #![forbid(unsafe_code)].

License