mirror of
https://github.com/samsonjs/agate.git
synced 2026-03-25 09:05:50 +00:00
WIP: Add SSL config
This commit is contained in:
parent
f89d2179a9
commit
bbd0035eb4
6 changed files with 120 additions and 9 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
|
@ -6,6 +6,7 @@ version = "1.0.0"
|
|||
dependencies = [
|
||||
"async-std",
|
||||
"async-tls",
|
||||
"rustls",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ edition = "2018"
|
|||
[dependencies]
|
||||
async-tls = "0.7.0"
|
||||
async-std = "1.5"
|
||||
rustls = "0.17.0"
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
use {
|
||||
std::{
|
||||
error::Error,
|
||||
},
|
||||
};
|
||||
|
||||
pub type Result<T=()> = std::result::Result<T, Box<dyn Error>>;
|
||||
38
src/main.rs
38
src/main.rs
|
|
@ -1,5 +1,39 @@
|
|||
use agate::Result;
|
||||
use {
|
||||
async_std::{
|
||||
net::TcpListener,
|
||||
prelude::*,
|
||||
task::block_on,
|
||||
},
|
||||
rustls::{
|
||||
internal::pemfile::{certs, rsa_private_keys},
|
||||
},
|
||||
std::{
|
||||
error::Error,
|
||||
fs::File,
|
||||
io::BufReader,
|
||||
},
|
||||
};
|
||||
|
||||
pub type Result<T=()> = std::result::Result<T, Box<dyn Error>>;
|
||||
|
||||
fn main() -> Result {
|
||||
Ok(())
|
||||
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")?))
|
||||
.expect("Error reading private key file");
|
||||
|
||||
let mut config = rustls::ServerConfig::new(rustls::NoClientAuth::new());
|
||||
config.set_single_cert(certs, keys.remove(0))?;
|
||||
|
||||
let addr = "0.0.0.0:1965";
|
||||
|
||||
block_on(async {
|
||||
let listener = TcpListener::bind(addr).await?;
|
||||
let mut incoming = listener.incoming();
|
||||
|
||||
while let Some(stream) = incoming.next().await {
|
||||
}
|
||||
|
||||
Ok(())
|
||||
})
|
||||
}
|
||||
|
|
|
|||
30
tests/cert.pem
Normal file
30
tests/cert.pem
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
-----BEGIN CERTIFICATE-----
|
||||
MIIFKjCCAxKgAwIBAgIUE0lnPid9xoVSHKo+93XpJcM0/ckwDQYJKoZIhvcNAQEL
|
||||
BQAwHDEaMBgGA1UEAwwRZ2VtaW5pLmxpbXBldC5uZXQwHhcNMjAwNTE3MTU0ODQx
|
||||
WhcNMzAwNTE1MTU0ODQxWjAcMRowGAYDVQQDDBFnZW1pbmkubGltcGV0Lm5ldDCC
|
||||
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAOwdGFm7PlGads7JzTnQgGoT
|
||||
3f3/LXL9i242BsUpKQk3sihciLBruoSlB8lOjb6X1+Ovlc5uUdAMiQzcg4htiiQa
|
||||
lmsZmzokTvL4+NDGKXZS/sGimkB0D8LQjQhEA4RD4AnhBbeQ4oJEGn8Q9VOTkVKZ
|
||||
nVL5rP5ScEEfGMlR1CUSq9iNg3r2ZhI138/aNrgDytcUlDXUSZpKeERZOu7fJMLN
|
||||
LUMS/HFragq1blMZEej2hiAtmwQKPiyvUSjczhg4Ui+pYzJuwBPVq5bR4uCA9jLv
|
||||
ohjJpS31SGErDhIVivnRBlEFSftdDgjrjmP0IQUFAFUZilfTqtLWEXJyXrHa8+Kf
|
||||
7g51eU0pYeyDm4O4WdSm6joQXqPStpQ03chFcK6fN+2UgHvDgy8O8H1aAtDBxsXF
|
||||
G2mRtoDglkOaeecC/okDHtwKGbxkEP5ebhivytK51KEIF4Yhf+rTVe66MgHLTvi6
|
||||
2BW5JymAclWMnpOQTQOfp/PFYe8S6FSCxeBAqgxvQjgUrIBFCcRlVyubxCWapd+0
|
||||
P0CgAR9dl9ZcWW0RCQK/vSGpQT7sqFFCMnhZabZY8PIUsu3z0O3N/9nLQe/RXqH0
|
||||
EvRCJUq545kYYuaSUqfa00fnkbVbFGWByVni+hprIrRj6YEH5GrALjKQaF4t9k/z
|
||||
ZhNwGVzIEhy9Y0Xo2VLtAgMBAAGjZDBiMB0GA1UdDgQWBBTIZa+CJsEYahN/wRd5
|
||||
mcY7HzlLfDAfBgNVHSMEGDAWgBTIZa+CJsEYahN/wRd5mcY7HzlLfDAPBgNVHRMB
|
||||
Af8EBTADAQH/MA8GA1UdEQQIMAaHBH8AAAEwDQYJKoZIhvcNAQELBQADggIBAG40
|
||||
/1s0QGmsIrT2HRcNVm7/Py8b1lIka3uQYY/ZW9xQQTwFtXvdXYfkafm7hLPbNqmQ
|
||||
HGmNLIFGrgZjKW7F/28fG5V6wGSawx5LBPpT1oPS6p2tFKKFKV9c8MP7J/g2Q0q5
|
||||
LTes1PPTa1fqkqZwpMGAAOaTtmX+DJfjxbJZ0/T0vP5NjbeqVSnKil40QBRWcPPT
|
||||
0qoJaYUkowMUu2LvhpkpIW/P8A68oM3z7/gmwP/YALIVXXIkdevUbEdqlwkjaOkF
|
||||
DQZYlmNhiTnaJnOu16LaVrCkC/vAtaHVCYsKftjYH+/BfcdFqFffnWrn+j6/NFfy
|
||||
NRvSEbzSjdH+h/0zT+kLLIih/vovF3WVNGjNk+JlZgVdDvJyuKlMTiAyPq12HOSE
|
||||
yQ3oHBKvk+iQekCkuDRga9BDgfsvMlIhrH4VZ85AU+yy/HzcBAB4nlFhD3vsopHm
|
||||
mpEuhMrmdN4FhGAsNJKYE3St6H+1eVuWR2c2KlA2EDSVJU0qaINzhChU79KpTfkb
|
||||
F3TdRiebTjgUGJylqggp5SN/YyJ30g+DdePPBf9MXbJmWEzI/iKvqlspVNy41chP
|
||||
Z4/8jXiCavZQ5e+1FeVIWFRNKxPkl9Wlr4UdtItte6jkG7r+Zy0O4DyFkzzNg4Gk
|
||||
OKpARqWVkqyOVEaMPv/ypZwpeNPhQQupITCu/x/7
|
||||
-----END CERTIFICATE-----
|
||||
52
tests/key.pem
Normal file
52
tests/key.pem
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
-----BEGIN PRIVATE KEY-----
|
||||
MIIJQwIBADANBgkqhkiG9w0BAQEFAASCCS0wggkpAgEAAoICAQDsHRhZuz5RmnbO
|
||||
yc050IBqE939/y1y/YtuNgbFKSkJN7IoXIiwa7qEpQfJTo2+l9fjr5XOblHQDIkM
|
||||
3IOIbYokGpZrGZs6JE7y+PjQxil2Uv7BoppAdA/C0I0IRAOEQ+AJ4QW3kOKCRBp/
|
||||
EPVTk5FSmZ1S+az+UnBBHxjJUdQlEqvYjYN69mYSNd/P2ja4A8rXFJQ11EmaSnhE
|
||||
WTru3yTCzS1DEvxxa2oKtW5TGRHo9oYgLZsECj4sr1Eo3M4YOFIvqWMybsAT1auW
|
||||
0eLggPYy76IYyaUt9UhhKw4SFYr50QZRBUn7XQ4I645j9CEFBQBVGYpX06rS1hFy
|
||||
cl6x2vPin+4OdXlNKWHsg5uDuFnUpuo6EF6j0raUNN3IRXCunzftlIB7w4MvDvB9
|
||||
WgLQwcbFxRtpkbaA4JZDmnnnAv6JAx7cChm8ZBD+Xm4Yr8rSudShCBeGIX/q01Xu
|
||||
ujIBy074utgVuScpgHJVjJ6TkE0Dn6fzxWHvEuhUgsXgQKoMb0I4FKyARQnEZVcr
|
||||
m8QlmqXftD9AoAEfXZfWXFltEQkCv70hqUE+7KhRQjJ4WWm2WPDyFLLt89Dtzf/Z
|
||||
y0Hv0V6h9BL0QiVKueOZGGLmklKn2tNH55G1WxRlgclZ4voaayK0Y+mBB+RqwC4y
|
||||
kGheLfZP82YTcBlcyBIcvWNF6NlS7QIDAQABAoICAQCGPgCTO+cxpD26UngRT99C
|
||||
8Gq9t7CSeV8l2Se+PymqqPTtB7dbftR8CAxGQxhJ7bD8Ld9hj82KGSZuno1WKtlo
|
||||
r4kn+VYNF4mfkTh+EryOHp/jXdyPmq0/WS1mLq1FLQYa98o1VPXDlI7wAadJzlPI
|
||||
f7g37eaSbjKOg+ymwZR5Q4VayRKg/aiI4AKQ/YMw2k8gO/4MINd8Fq0MRyM/nrUa
|
||||
4GbEhO3sWmLfFcpVCqLpLgiSEPvarywsYb0mG2w9zv/DQ243xUoFvO0jAdAZTpkr
|
||||
2pzxtOvqFlQBkuYcGA18/X+23ufyNzT8k1jQsYN4hCBtQekrCBhOaRFgXXBDdLZF
|
||||
4oKb+SaVLo5Non3BkbaBl9P9LGyusVznTFXtxoV4JfNvsnA/nLYaAphEA4RXC7+4
|
||||
W5+5Cpw4N45385uHgL/alMAQdw5IitxnfyyG0YUEjXZ/CjIyoMi4QXE6c4Oe/LQM
|
||||
AzqzWy0X3gHKgCAlfXUdbgD/dL3p2CrTwNzP3d4dn0SJJSa4e88KU7mNysXyQLkw
|
||||
0hMgBhUIdF05wxTrHODufVNPTCXE7cn/y5eFcLDbHLIUynbRIQCmb4Yncq6qCtCx
|
||||
+fSKOPX61iQjYIqE/Ap3VUwkCbBNS3IVwwhzb3va5O26glXOjHpuGmHN6y9bawgy
|
||||
/B8QCPWHeIuIog+gQwTGDQKCAQEA+tbM458FdKs8Z0uJ+/V0sAUxKeYTqcHv+vgM
|
||||
gOroTGmlXlGY2Cng+MSWyEX4LNyxAuQjGIR7uEHFhusHPAD1AW+9B4tfPbYV3RC4
|
||||
RV5Y94OhVTBvM2FFiCFTkZUH9s0T8Mo2ARhU+3ix2uPlXFF+U/Z/cseTjH+aWcwS
|
||||
cj/OADstAxtJFM+VhIWhZ14U6fVNl7OUCf+sJE9Kz3zxKWNUi1i+elilMurdloiO
|
||||
8S41MPVuH0+yem/h1bAlhfpQHhq+cI4WxqvEoLfR/r33jAvXf9WrQO4n5DrCpgc7
|
||||
LTbESkfNQ+4wabfx1JEBiqhOcrAOuHeHd12CQXTSxgq/MmFBGwKCAQEA8Pi79/Gc
|
||||
IQzssFVqoMP2HaykXnNgCDpBWhA0ssSC1sa9oOqBIeb4BcNQfhl4ORQgpigLuMze
|
||||
HUHNJd8V/zyLKP/OZ61b95TYJI75d/BlDFadivMJ2xYOrbXzMstxt6Fx3YNnGiTy
|
||||
IyRpUQsyro+dNf5MGRL4n9F7RuSKryXPkALwUTWNb7ovhM2njZJ2PqFZVQ4yyP2s
|
||||
rbuf1ioSGezEPIcz3sHmEPJ82/J050WgRMg3oYQMZGQwvw5IrjDbZrWjLKG2hf3y
|
||||
RBPBS/3ePHQ0VDvXmcEjCutommCoyvhaZztTn2mnu7eBd+/Txteryo6UeG3Onyqr
|
||||
zKNXMA9DrF6ElwKCAQAJj5prqqoIkmZRAZ4WznpOI0SGdlCVjeDZzg6b81g7YWN+
|
||||
Ptn2k1IR6Vxd8dzNyPOuSofT7WjR0x/2TosODHNKRLoNyZAtx/z5WiPL8RavCINj
|
||||
vd7fNHvz/mEzEV0mWRbDfNGmJQlINIeC8mDRrgGErcaZ12WWW17EwXSKikgN1jOX
|
||||
BLk6Y9ctH/LQ/9MIP+NfPucLooUrNSKC2h5PF4wna5CHFU3mrPEZRcc9Bifc3938
|
||||
r4r8A7u162riunHHU/miTKgtlmp+PcNxVEhVPDZQlxJZ/TnkByFYNrpYtNeyhR4b
|
||||
0r5hqTM8iPJoGJY05OUKvvOY5yWJ3SwThGFZSD+1AoIBAQCyskHyZKG7gLIlMbKY
|
||||
9bkV2GksAbM9ZrX/6/SofUHptAf7xOtuELHs1CJk4M5exaZQkXHf4Uz1tU5Ev2K4
|
||||
nFU2WjzedZi1yRNgSQaHAyZsN+8sk37DkV/hQgTPrj7uRjMCaeeTY8KMfPv8takn
|
||||
+ihDWglkrsTg/5/Dusd9izSZPxSnpGb2a8PBYCDYw7wcRdrRUG4ozrW3QGQPlbNG
|
||||
tmXv3POCRZgvCSO+l9ZJi0CGwVM/24S1Dfd4N0d+pYyOZjRTbLjGNMPr6Bp4GBMu
|
||||
EZ6cuKPxyWALQPeZRAToP7QKydwBY4CXnEXOg3MxCc7Dr2g6xnNrZWFxp8+IPEmb
|
||||
EZyRAoIBAC0v6/9DrPV/sVpNZp4ihzaFqA4k5AOB3eDtpHHfTdSE2XTwT7WRi3yB
|
||||
/XJ59VAlotf80jCigbQJYtvW1PauGBGVKq/joycm2RNE0BXF8omQsp8p5eSS300r
|
||||
s4y/sIGtsMldz9D2HY13Z55rRmeelHNfj9HLRC1tHoD/bRPmZb3lWmi48QwWn+jR
|
||||
0vMUkl+tW7zzpSe7NPZr30BX0pm37t94t6T4gHmHJ/XkDkMA6p9v+Bla/IaNXtbd
|
||||
ZKR65STSZKrO+ErN9RI5lYGrUU3Ey9F43jY/1jm8RuiAK6YDI1Ze+aNYuWI5XfGc
|
||||
xaJIiFfR55tTOf5rMJA4NmeL8rdrTt8=
|
||||
-----END PRIVATE KEY-----
|
||||
Loading…
Reference in a new issue