From 98cc51d8608e3247ed24cba33be9a4531a9830c2 Mon Sep 17 00:00:00 2001 From: Nixon Enraght-Moony Date: Tue, 11 Jan 2022 03:15:46 +0000 Subject: [PATCH] Try with rustls --- Cargo.lock | 10 ++++++++++ Cargo.toml | 1 + cert.der | Bin 0 -> 1503 bytes cert.pem | 34 ++++++++++++++++++++++++++++++++++ cert.pfx | Bin 0 -> 4253 bytes key.pem | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ src/main.rs | 40 ++++++++++++++++++++++------------------ 7 files changed, 119 insertions(+), 18 deletions(-) create mode 100644 cert.der create mode 100644 cert.pem create mode 100644 cert.pfx create mode 100644 key.pem diff --git a/Cargo.lock b/Cargo.lock index f116fc2..8ccd0ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -302,6 +302,7 @@ dependencies = [ "anyhow", "rustls 0.20.2", "trust-dns-resolver", + "uuid", "webpki-roots 0.22.2", ] @@ -740,6 +741,15 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom", +] + [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" diff --git a/Cargo.toml b/Cargo.toml index 80b6e81..1a4b245 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,6 +9,7 @@ edition = "2021" anyhow = "1.0.52" 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" [features] diff --git a/cert.der b/cert.der new file mode 100644 index 0000000000000000000000000000000000000000..79479fd14129d132725da593841371478edcb827 GIT binary patch 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 literal 0 HcmV?d00001 diff --git a/cert.pem b/cert.pem new file mode 100644 index 0000000..7a3f733 --- /dev/null +++ b/cert.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +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 +yPTFWAiof8wFX9XiL1Yb +-----END CERTIFICATE----- diff --git a/cert.pfx b/cert.pfx new file mode 100644 index 0000000000000000000000000000000000000000..dc6202e42c0a70274cb901d0461556f311f0be53 GIT binary patch literal 4253 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 literal 0 HcmV?d00001 diff --git a/key.pem b/key.pem new file mode 100644 index 0000000..d588eed --- /dev/null +++ b/key.pem @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +i+VOI1c9EUtr4NnRNVqcz8dqjoCdjSY= +-----END PRIVATE KEY----- diff --git a/src/main.rs b/src/main.rs index 5909cad..32d343d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,37 +5,33 @@ use std::{ sync::Arc, }; -use anyhow::{bail, Result}; +use anyhow::{bail, Context, Result}; use rustls::{ClientConfig, ClientConnection, OwnedTrustAnchor, RootCertStore, StreamOwned}; use trust_dns_resolver::{ config::{ResolverConfig, ResolverOpts}, Resolver, }; +use uuid::Uuid; fn main() -> Result<()> { let (port, host) = resolve_dns("daeken.dev")?; - dbg!(port); - dbg!(host); - - let (port, host) = (443, "example.com".to_owned()); + dbg!(&port); + dbg!(&host); let tls_conf = Arc::new(make_tls_config()); - let mut tls_conn = make_tls_connection(tls_conf, &host, port)?; + let mut tls_conn = make_tls_connection(tls_conf, &host, port) + .with_context(|| format!("Can't connect to {}:{}", host, port))?; - tls_conn.write_all( - concat!( - "GET / HTTP/1.1\r\n", - "Host: example.com\r\n", - "Connection: close\r\n", - "\r\n" - ) - .as_bytes(), - )?; + // let uuid =// Uuid::new_v4(); - let mut pt = Vec::new(); - tls_conn.read_to_end(&mut pt)?; - println!("{}", String::from_utf8(pt)?); + let uuid = [b'a'; 16]; + dbg!(&uuid); + tls_conn.write_all(&uuid).context("Can't write UUID")?; + + let mut serv_uuid = [0; 16]; + tls_conn.read_exact(&mut serv_uuid)?; + dbg!(serv_uuid); Ok(()) } @@ -76,6 +72,14 @@ fn make_tls_config() -> ClientConfig { ta.name_constraints, ) })); + + let cert_dir = include_bytes!("../cert.der"); + + 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)