Stable Test codecov Rust Docs Crate version Download Version License: MIT

Roa-tls

This crate provides an acceptor implementing roa_core::Accept and an app extension.

TlsIncoming

```rust use roacore::App; use roatls::TlsIncoming; use roatls::rustls::{ServerConfig, NoClientAuth}; use roatls::rustls::internal::pemfile::{certs, rsaprivatekeys}; use std::fs::File; use std::io::BufReader;

fn main() -> Result<(), Box> {

let mut config = ServerConfig::new(NoClientAuth::new()); let mut certfile = BufReader::new(File::open("../assets/cert.pem")?); let mut keyfile = BufReader::new(File::open("../assets/key.pem")?); let certchain = certs(&mut certfile).unwrap(); let mut keys = rsaprivatekeys(&mut keyfile).unwrap(); config.setsinglecert(certchain, keys.remove(0))?;

let incoming = TlsIncoming::bind("127.0.0.1:0", config)?; let server = App::new(()).accept(incoming); // server.await Ok(())

}

```

TlsListener

```rust use roacore::App; use roatls::TlsListener; use roatls::rustls::{ServerConfig, NoClientAuth}; use roatls::rustls::internal::pemfile::{certs, rsaprivatekeys}; use std::fs::File; use std::io::BufReader;

fn main() -> Result<(), Box> {

let mut config = ServerConfig::new(NoClientAuth::new()); let mut certfile = BufReader::new(File::open("../assets/cert.pem")?); let mut keyfile = BufReader::new(File::open("../assets/key.pem")?); let certchain = certs(&mut certfile).unwrap(); let mut keys = rsaprivatekeys(&mut keyfile).unwrap(); config.setsinglecert(certchain, keys.remove(0))?;

let (addr, server) = App::new(()).listentlson("127.0.0.1:0", config)?; // server.await Ok(())

}

```