agate

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

commit edec8f08bc178f0c8db725a30a7394ed8c09859a
parent b5ce7382403e038551f1a986da1df01262caa910
Author: Matt Brubeck <mbrubeck@limpet.net>
Date:   Sun, 17 May 2020 19:13:18 -0700

Switch to pkcs8 key file

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

diff --git a/src/main.rs b/src/main.rs @@ -5,7 +5,7 @@ use { task, }, async_tls::TlsAcceptor, - rustls::internal::pemfile::{certs, rsa_private_keys}, + rustls::internal::pemfile::{certs, pkcs8_private_keys}, std::{ error::Error, fs::{File, read}, @@ -21,7 +21,7 @@ pub type Result<T=()> = std::result::Result<T, Box<dyn Error + Send + Sync>>; 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.rsa")?)) + let mut keys = pkcs8_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()); diff --git a/tests/cert.pem b/tests/cert.pem @@ -1,24 +1,30 @@ -----BEGIN CERTIFICATE----- -MIIEADCCAmigAwIBAgICAcgwDQYJKoZIhvcNAQELBQAwLDEqMCgGA1UEAwwhcG9u -eXRvd24gUlNBIGxldmVsIDIgaW50ZXJtZWRpYXRlMB4XDTE2MTIxMDE3NDIzM1oX -DTIyMDYwMjE3NDIzM1owGTEXMBUGA1UEAwwOdGVzdHNlcnZlci5jb20wggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1YDz66+7VD4DL1+/sVHMQ+BbDRgmD -OQlX++mfW8D3QNQm/qDBEbu7T7qqdc9GKDar4WIzBN8SBkzM1EjMGwNnZPV/Tfz0 -qUAR1L/7Zzf1GaFZvWXgksyUpfwvmprH3Iy/dpkETwtPthpTPNlui3hZnm/5kkjR -RWg9HmID4O04Ld6SK313v2ZgrPZbkKvbqlqhUnYWjL3blKVGbpXIsuZzEU9Ph+gH -tPcEhZpFsM6eLe+2TVscIrycMEOTXqAAmO6zZ9sQWtfllu3CElm904H6+jA/9Leg -al72pMmkYr8wWniqDDuijXuCPlVx5EDFFyxBmW18UeDEQaKV3kNfelaTAgMBAAGj -gb4wgbswDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBsAwHQYDVR0OBBYEFIYhJkVy -AAKT6cY/ruH1Eu+NNxteMEIGA1UdIwQ7MDmAFNwuPy4Do//Sm5CZDrocHWTrNr96 -oR6kHDAaMRgwFgYDVQQDDA9wb255dG93biBSU0EgQ0GCAXswOwYDVR0RBDQwMoIO -dGVzdHNlcnZlci5jb22CFXNlY29uZC50ZXN0c2VydmVyLmNvbYIJbG9jYWxob3N0 -MA0GCSqGSIb3DQEBCwUAA4IBgQCWV76jfQDZKtfmj45fTwZzoe/PxjWPRbAvSEnt -LRHrPhqQfpMLqpun8uu/w86mHiR/AmiAySMu3zivW6wfGzlRWLi/zCyO6r9LGsgH -bNk5CF642cdZFvn1SiSm1oGXQrolIpcyXu88nUpt74RnY4ETCC1dRQKqxsYufe5T -DOmTm3ChinNW4QRG3yvW6DVuyxVAgZvofyKJOsM3GO6oogIM41aBqZ3UTwmIwp6D -oISdiATslFOzYzjnyXNR8DG8OOkv1ehWuyb8x+hQCZAuogQOWYtCSd6k3kKgd0EM -4CWbt1XDV9ZJwBf2uxZeKuCu/KIy9auNtijAwPsUv9qxuzko018zhl3lWm5p2Sqw -O7fFshU3A6df8hMw7ST6/tgFY7geT88U4iJhfWMwr/CZSRSVMXhTyJgbLIXxKYZj -Ym5v4NAIQP6hI4HixzQaYgrhW6YX6myk+emMjQLRJHT8uHvmT7fuxMJVWWgsCkr1 -C75pRQEagykN/Uzr5e6Tm8sVu88= +MIIFNTCCAx2gAwIBAgIUOrH8hHHVFo1QuRsauj1CSgzRsdcwDQYJKoZIhvcNAQEL +BQAwHDEaMBgGA1UEAwwRZ2VtaW5pLmxpbXBldC5uZXQwHhcNMjAwNTE4MDIxMTQ0 +WhcNMzAwNTE2MDIxMTQ0WjAcMRowGAYDVQQDDBFnZW1pbmkubGltcGV0Lm5ldDCC +AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALhcIahftwji/VeQ0c5mOATy +5JkqQXnnMnkz7GBhKRulXa3hkw4xI7dR6hjUIHuu6rNwBR6FO0zTKT4vpTgAtQ+m +BEDvO6ju/lEVm1WAAWWXsVVHb2tQi788Ab7JLkvljCuRPLJ7IIsr/M/zakq3MmD+ +lZzTnj/ocxSSag2xfi8AFOlGi495zW3nBtJO6WOUXmB85A+UwELicUZRGCeR+S9R +Gqk9wbb6jowzqFwHD26gIDNj27nzkxqataITyOADxv6F+YmoRIIQ53gOhYU3qihB +0GuAeyE0tGh/+20jd3N7TFEBxAUM5EsfzpCLxTbJw1onM3aG8tGMFo6hzV2X4Ozw +XdBRxP2UnNkZX8GjcB79bOhCzm/C2dmi1VUaKQ84ZYyFmZfrzNCph/UpLHM/PGI5 +orxZ4XIaC9ibdn+dAs/Ddygew5VdniGD/7uOCAz+84a+o2yYiqg1s7H9YOhwIHKG +/Ozso3+Gc9Wf2Q4DfZ99m/u5rwR2XPm/ooEhW99p890ZBCIyIDt7xpLmzPa+A6j5 +4Pvedc9Zlhy7eYDmQwvyZsbzpsBkMadXyN9WiU4WbVgVA0HVHXaCt+mFCFctrJWB +9N2otjc9Rc6dsLftNspodLWX63JiOmMu5E/SstOkHkx+wfo62Uaok/Rg5nJ+aj6S +jWgMK1bD8A+LuCc5NlN/AgMBAAGjbzBtMB0GA1UdDgQWBBT8SrhdUlfEJtNjSuZH +M7FZnq4zfTAfBgNVHSMEGDAWgBT8SrhdUlfEJtNjSuZHM7FZnq4zfTAPBgNVHRMB +Af8EBTADAQH/MBoGA1UdEQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0B +AQsFAAOCAgEAZxuFLvKNywOrkiefeiyOroed/y22hRKD/RFbMQmxaXF114q29QJO +x1YlgdMoRWJM2+jAS7kYFufITy57L5eefMhmWK/euQgowQDHXilDhvONSg2Wc3zz +uB2x34guM9U8iAMbW6e4IO8VQ4Jl0NnOEiVKPurEX9LIY4ZO7sNiAS//PWlztPz2 +GPDrKerOMmGy/ky7YC+8tW2Hq1GwEs0r0kQURUISfU4tCmqmonh1ljntImjPaOEh +pT/0ES+Kug8Jw07aM6NEfUFh1oU6TrpMWtIyCAUeuSGe9xDcvGwCjveoHO+zkHEy +icYWy9uFU0tbr+jEjfnmQBxe8flm0HdpMKCAMPWhxNNrX/erLD7o8KLl/KQRlcfc +6aH/NNBUIh10FWDJbRwyq1WwA+K0eJ513epBayGJXVeGrtaf6PBfqTby4E+wZZSm +htJ3UFOh3gQe3Wfdwq3vxk4Rnfv40D51Ej2FeC5NfRLBKCYBAbFh+8N4jrEmFgyK +NYXa5ILygO+uBxWJKBt+LDqN+ydhwj5kjhfqzuEqNklHofYzOKMPLEHsjvPMaFSq +z80ASZSjYVoHuqktjJKykjPtiIOMVZigdDgynqTXp3BfqySU6hzy0pSeow6CCmRm +f24prQpTUxT1BO8d153hP71ukhWbzPNE7RkLedB0qADgZp+H09ifqYs= -----END CERTIFICATE----- diff --git a/tests/key.rsa b/tests/key.rsa @@ -1,27 +1,52 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEogIBAAKCAQEAtWA8+uvu1Q+Ay9fv7FRzEPgWw0YJgzkJV/vpn1vA90DUJv6g -wRG7u0+6qnXPRig2q+FiMwTfEgZMzNRIzBsDZ2T1f0389KlAEdS/+2c39RmhWb1l -4JLMlKX8L5qax9yMv3aZBE8LT7YaUzzZbot4WZ5v+ZJI0UVoPR5iA+DtOC3ekit9 -d79mYKz2W5Cr26paoVJ2Foy925SlRm6VyLLmcxFPT4foB7T3BIWaRbDOni3vtk1b -HCK8nDBDk16gAJjus2fbEFrX5ZbtwhJZvdOB+vowP/S3oGpe9qTJpGK/MFp4qgw7 -oo17gj5VceRAxRcsQZltfFHgxEGild5DX3pWkwIDAQABAoIBAFDTazlSbGML/pRY -TTWeyIw2UkaA7npIr45C13BJfitw+1nJPK/tDCDDveZ6i3yzLPHZhV5A/HtWzWC1 -9R7nptOrnO83PNN2nPOVQFxzOe+ClXGdQkoagQp5EXHRTspj0WD9I+FUrDDAcOjJ -BAgMJPyi6zlnZAXGDVa3NGyQDoZqwU2k36L4rEsJIkG0NVurZhpiCexNkkf32495 -TOINQ0iKdfJ4iZoEYQ9G+x4NiuAJRCHuIcH76SNfT+Uv3wX0ut5EFPtflnvtdgcp -QVcoKwYdO0+mgO5xqWlBcsujSvgBdiNAGnAxKHWiEaacuIJi4+yYovyEebP6QI2X -Zg/U2wkCgYEA794dE5CPXLOmv6nioVC/ubOESk7vjSlEka/XFbKr4EY794YEqrB1 -8TUqg09Bn3396AS1e6P2shr3bxos5ybhOxDGSLnJ+aC0tRFjd1BPKnA80vZM7ggt -5cjmdD5Zp0tIQTIAAYU5bONQOwj0ej4PE7lny26eLa5vfvCwlrD+rM0CgYEAwZMN -W/5PA2A+EM08IaHic8my0dCunrNLF890ouZnDG99SbgMGvvEsGIcCP1sai702hNh -VgGDxCz6/HUy+4O4YNFVtjY7uGEpfIEcEI7CsLQRP2ggWEFxThZtnEtO8PbM3J/i -qcS6njHdE+0XuCjgZwGgva5xH2pkWFzw/AIpEN8CgYB2HOo2axWc8T2n3TCifI+c -EqCOsqXU3cBM+MgxgASQcCUxMkX0AuZguuxPMmS+85xmdoMi+c8NTqgOhlYcEJIR -sqXgw9OH3zF8g6513w7Md+4Ld4rUHyTypGWOUfF1pmVS7RsBpKdtTdWA7FzuIMbt -0HsiujqbheyTFlPuMAOH9QKBgBWS1gJSrWuq5j/pH7J/4EUXTZ6kq1F0mgHlVRJy -qzlvk38LzA2V0a32wTkfRV3wLcnALzDuqkjK2o4YYb42R+5CZlMQaEd8TKtbmE0g -HAKljuaKLFCpun8BcOXiXsHsP5i3GQPisQnAdOsrmWEk7R2NyORa9LCToutWMGVl -uD3xAoGAA183Vldm+m4KPsKS17t8MbwBryDXvowGzruh/Z+PGA0spr+ke4XxwT1y -kMMP1+5flzmjlAf4+W8LehKuVqvQoMlPn5UVHmSxQ7cGx/O/o6Gbn8Q25/6UT+sM -B1Y0rlLoKG62pnkeXp1O4I57gnClatWRg5qw11a8V8e3jvDKIYM= ------END RSA PRIVATE KEY----- +-----BEGIN PRIVATE KEY----- +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 +y3R+1EJF0BEfkVjr12H3BVgL9w6rlU0= +-----END PRIVATE KEY-----