agate

Simple gemini server for static files
git clone https://github.com/mbrubeck/agate.git
Log | Files | Refs | README

commit bf439b4c526fa0d19b7128f5e2aca84b86271fd7
parent 9d1e5f1d21ffed8f29b42e81c6ac611afb0f4227
Author: Matt Brubeck <mbrubeck@limpet.net>
Date:   Sun, 17 May 2020 09:58:55 -0700

Trying to fix TLS

Diffstat:
Msrc/main.rs | 4++--
Mtests/cert.pem | 50++++++++++++++++++++++----------------------------
Dtests/key.pem | 52----------------------------------------------------
3 files changed, 24 insertions(+), 82 deletions(-)

diff --git a/src/main.rs b/src/main.rs @@ -29,14 +29,14 @@ async fn connection(acceptor: TlsAcceptor, stream: TcpStream) -> io::Result<()> fn main() -> Result { let certs = certs(&mut BufReader::new(File::open("tests/cert.pem")?)) .expect("Error reading certificate file"); - let mut keys = rsa_private_keys(&mut BufReader::new(File::open("tests/key.pem")?)) + let mut keys = rsa_private_keys(&mut BufReader::new(File::open("tests/key.rsa")?)) .expect("Error reading private key file"); let mut config = rustls::ServerConfig::new(rustls::NoClientAuth::new()); config.set_single_cert(certs, keys.remove(0))?; let acceptor = TlsAcceptor::from(Arc::new(config)); - let addr = "0.0.0.0:1965"; + let addr = "127.0.0.1:1965"; task::block_on(async { let listener = TcpListener::bind(addr).await?; diff --git a/tests/cert.pem b/tests/cert.pem @@ -1,30 +1,24 @@ -----BEGIN CERTIFICATE----- -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 +C75pRQEagykN/Uzr5e6Tm8sVu88= -----END CERTIFICATE----- diff --git a/tests/key.pem b/tests/key.pem @@ -1,52 +0,0 @@ ------BEGIN PRIVATE KEY----- -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 -xaJIiFfR55tTOf5rMJA4NmeL8rdrTt8= ------END PRIVATE KEY-----