This crate provides an acceptor implementing roa_core::Accept
and an app extension.
```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;
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(())
```
```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;
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(())
```