From 3aa8364f476588ac5bd47fe18351caaff01f5e6e Mon Sep 17 00:00:00 2001 From: Nixon Enraght-Moony Date: Tue, 11 Jan 2022 03:45:34 +0000 Subject: [PATCH] Use native-tls. Get UUIDs! This will get changed back once daeken does a properly signed cert, as native doesnt support 1.3 --- Cargo.lock | 177 +++++++++++++++++++++++++++++++++++++++++++++++----- Cargo.toml | 3 +- cert.der | Bin 1503 -> 0 bytes cert.pem | 34 ---------- cert.pfx | Bin 4253 -> 0 bytes key.pem | 52 --------------- src/main.rs | 79 ++++++++++++++--------- 7 files changed, 212 insertions(+), 133 deletions(-) delete mode 100644 cert.der delete mode 100644 cert.pem delete mode 100644 cert.pfx delete mode 100644 key.pem diff --git a/Cargo.lock b/Cargo.lock index 8ccd0ce..a637d83 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,6 +19,12 @@ dependencies = [ "syn", ] +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + [[package]] name = "base64" version = "0.13.0" @@ -55,6 +61,22 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "core-foundation" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" + [[package]] name = "data-encoding" version = "2.3.2" @@ -73,6 +95,30 @@ dependencies = [ "syn", ] +[[package]] +name = "fastrand" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "779d043b6a0b90cc4c0ed7ee380a6504394cee7efd7db050e3774eee387324b2" +dependencies = [ + "instant", +] + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.0.1" @@ -295,12 +341,30 @@ dependencies = [ "winapi", ] +[[package]] +name = "native-tls" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + [[package]] name = "nemicosm" version = "0.1.0" dependencies = [ "anyhow", - "rustls 0.20.2", + "native-tls", "trust-dns-resolver", "uuid", "webpki-roots 0.22.2", @@ -331,6 +395,39 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" +[[package]] +name = "openssl" +version = "0.10.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-sys", +] + +[[package]] +name = "openssl-probe" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" + +[[package]] +name = "openssl-sys" +version = "0.9.72" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + [[package]] name = "parking_lot" version = "0.11.2" @@ -374,6 +471,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "pkg-config" +version = "0.3.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" + [[package]] name = "ppv-lite86" version = "0.2.16" @@ -453,6 +556,15 @@ dependencies = [ "bitflags", ] +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + [[package]] name = "resolv-conf" version = "0.7.0" @@ -487,20 +599,18 @@ dependencies = [ "base64", "log", "ring", - "sct 0.6.1", + "sct", "webpki 0.21.4", ] [[package]] -name = "rustls" -version = "0.20.2" +name = "schannel" +version = "0.1.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" +checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" dependencies = [ - "log", - "ring", - "sct 0.7.0", - "webpki 0.22.0", + "lazy_static", + "winapi", ] [[package]] @@ -520,13 +630,26 @@ dependencies = [ ] [[package]] -name = "sct" -version = "0.7.0" +name = "security-framework" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" dependencies = [ - "ring", - "untrusted", + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" +dependencies = [ + "core-foundation-sys", + "libc", ] [[package]] @@ -569,6 +692,20 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "tempfile" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +dependencies = [ + "cfg-if", + "fastrand", + "libc", + "redox_syscall", + "remove_dir_all", + "winapi", +] + [[package]] name = "thiserror" version = "1.0.30" @@ -625,7 +762,7 @@ version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ - "rustls 0.19.1", + "rustls", "tokio", "webpki 0.21.4", ] @@ -669,7 +806,7 @@ dependencies = [ "lru-cache", "parking_lot", "resolv-conf", - "rustls 0.19.1", + "rustls", "smallvec", "thiserror", "tokio", @@ -689,7 +826,7 @@ dependencies = [ "futures-io", "futures-util", "log", - "rustls 0.19.1", + "rustls", "tokio", "tokio-rustls", "trust-dns-proto", @@ -750,6 +887,12 @@ dependencies = [ "getrandom", ] +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/Cargo.toml b/Cargo.toml index 1a4b245..d0fc534 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,7 +7,8 @@ edition = "2021" [dependencies] anyhow = "1.0.52" -rustls = "0.20.2" +native-tls = "0.2.8" +#rustls = "0.20.2" trust-dns-resolver = { version = "0.20.3", features = ["dns-over-rustls"] } uuid = { version = "0.8.2", features = ["v4"] } webpki-roots = "0.22.2" diff --git a/cert.der b/cert.der deleted file mode 100644 index 79479fd14129d132725da593841371478edcb827..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1503 zcmXqLV!dt9#C&)GGZP~dlZe~&6R|qn41W^CSN^;FRC&td8!z4&@Un4gwRyCC=VfH% zW@Rv_HRLwnWMd9xVH0Kw4L0O8;0AFxcv##Lvr}PQc2q7GDwi9|6*S-n>1F2OC`m0Y zNzO0MHIz4ygW)WpQdu;le6)1vvE&)zvcz58#{W|ac%>n~Zh zF7v$iH`A%|@8#E*+N>o4?(FTVHOS(>X8HMqfec?r-In#;=0E+E(_dQ(PEU3F;gRs= z%!AOY8Nb6%ZtihSD)R2XnP&4`>P|}1&O|XK(=+alu_t8v56-^->F=Tr_1e{k<-#|9 zu+-Sed9>a;;fnLj-gPszq|86J+DrAGD86QGIFI-Ir6!T)$sa^FG<M5Qv*)5J^*_A3CzBPAT=kOaXxwu&K)9LyHp$9}6mVV=U&-z=5f3XFip(7WCFebt0vW!= z=QgWd(0Wrky)>`wjKpMBg=M` z)a}h@u2Czj-u`a3OWJ~G-80^LYcb9(PMYvX^xc96D~+#qlCp<_SN+#^-Q^(gnu(c_ zfpKxLK_D=lGl$CZv52vVJlx95#^gKe^UIkDJxrIE9IgKonr|Qvl2&GsFc53Nt^kyE zWQ7?S|Ff_fFas&%WCzTrz+}hBpuW53Y};`&!S-$ZM?x~D-kGt4@w~3cvHERtzh)_M zpOM{tPfX?BmYneS3zSc|Kl8o)X*s9C@%0()0^*Zi)O6c(?aTS<>zdF}>s9_C>-3jQK8Ncz zYgR61ja%loP1aM`+d}byy#wn4#c3{LQS*bQ+eNi~2=WNKkvvf&xm)$q+gDP~<+r~- z`FhwOV5hs{IaM++&2Ddp0Zrzop+Vf!(ShFKmK$6j#iD& zGx)E|t$OJHN6N{ z#lrW~>!t^2eRFHEp1Wh$v5xgV<{QuScx+9z&Q?-=ckz_O1J-|Ng|6qY)e{>d&yoUwxz>CJg{pRCT5R diff --git a/cert.pem b/cert.pem deleted file mode 100644 index 7a3f733..0000000 --- a/cert.pem +++ /dev/null @@ -1,34 +0,0 @@ ------BEGIN CERTIFICATE----- -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 -yPTFWAiof8wFX9XiL1Yb ------END CERTIFICATE----- diff --git a/cert.pfx b/cert.pfx deleted file mode 100644 index dc6202e42c0a70274cb901d0461556f311f0be53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4253 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 diff --git a/key.pem b/key.pem deleted file mode 100644 index d588eed..0000000 --- a/key.pem +++ /dev/null @@ -1,52 +0,0 @@ ------BEGIN PRIVATE KEY----- -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 -i+VOI1c9EUtr4NnRNVqcz8dqjoCdjSY= ------END PRIVATE KEY----- diff --git a/src/main.rs b/src/main.rs index 32d343d..42f8b12 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,7 +6,8 @@ use std::{ }; use anyhow::{bail, Context, Result}; -use rustls::{ClientConfig, ClientConnection, OwnedTrustAnchor, RootCertStore, StreamOwned}; +use native_tls::{TlsConnector, TlsConnectorBuilder}; +// use rustls::{ClientConfig, ClientConnection, OwnedTrustAnchor, RootCertStore, StreamOwned}; use trust_dns_resolver::{ config::{ResolverConfig, ResolverOpts}, Resolver, @@ -19,8 +20,8 @@ fn main() -> Result<()> { dbg!(&port); dbg!(&host); - let tls_conf = Arc::new(make_tls_config()); - let mut tls_conn = make_tls_connection(tls_conf, &host, port) + // let tls_conf = Arc::new(make_tls_config()); + let mut tls_conn = make_tls_connection(&host, port) .with_context(|| format!("Can't connect to {}:{}", host, port))?; // let uuid =// Uuid::new_v4(); @@ -33,6 +34,11 @@ fn main() -> Result<()> { tls_conn.read_exact(&mut serv_uuid)?; dbg!(serv_uuid); + // Hangs ATM + let mut new = [0; 100]; + let len = tls_conn.read(&mut new)?; + dbg!(&new[..len]); + Ok(()) } @@ -63,42 +69,57 @@ fn make_dns_client() -> Result { )?) } -fn make_tls_config() -> ClientConfig { - let mut root_store = RootCertStore::empty(); - root_store.add_server_trust_anchors(webpki_roots::TLS_SERVER_ROOTS.0.iter().map(|ta| { - OwnedTrustAnchor::from_subject_spki_name_constraints( - ta.subject, - ta.spki, - ta.name_constraints, - ) - })); +// fn make_tls_config() -> ClientConfig { +// let mut root_store = RootCertStore::empty(); +// root_store.add_server_trust_anchors(webpki_roots::TLS_SERVER_ROOTS.0.iter().map(|ta| { +// OwnedTrustAnchor::from_subject_spki_name_constraints( +// ta.subject, +// ta.spki, +// ta.name_constraints, +// ) +// })); - let cert_dir = include_bytes!("../cert.der"); +// let cert_dir = include_bytes!("../cert.der"); - assert_eq!( - root_store.add_parsable_certificates(&[cert_dir.to_vec()]), - (1, 0) - ); +// assert_eq!( +// root_store.add_parsable_certificates(&[cert_dir.to_vec()]), +// (1, 0) +// ); - let config = rustls::ClientConfig::builder() - .with_safe_defaults() - .with_root_certificates(root_store) - .with_no_client_auth(); +// let config = rustls::ClientConfig::builder() +// .with_safe_defaults() +// .with_root_certificates(root_store) +// .with_no_client_auth(); - config -} +// config +// } + +// fn make_tls_connection( +// config: Arc, +// server: &str, +// port: u16, +// ) -> Result { +// let server_name = server.try_into()?; + +// let conn = ClientConnection::new(config, server_name)?; +// let sock = TcpStream::connect((server, port))?; + +// let stream = StreamOwned::new(conn, sock); + +// Ok(stream) +// } fn make_tls_connection( - config: Arc, + // config: Arc, server: &str, port: u16, ) -> Result { - let server_name = server.try_into()?; + let connector = TlsConnector::builder() + .danger_accept_invalid_certs(true) + .build()?; - let conn = ClientConnection::new(config, server_name)?; let sock = TcpStream::connect((server, port))?; + let conn = connector.connect(server, sock)?; - let stream = StreamOwned::new(conn, sock); - - Ok(stream) + Ok(conn) }