diff options
-rw-r--r-- | net/examples/dane-generate.rs | 28 | ||||
-rw-r--r-- | net/examples/dane-get.rs | 25 |
2 files changed, 53 insertions, 0 deletions
diff --git a/net/examples/dane-generate.rs b/net/examples/dane-generate.rs new file mode 100644 index 00000000..04ece1aa --- /dev/null +++ b/net/examples/dane-generate.rs @@ -0,0 +1,28 @@ +//! Demonstrates how to generate DANE records. + +use std::env; + +use sequoia_openpgp::{ + Cert, + Result, + parse::Parse, + policy::StandardPolicy, +}; + +use sequoia_net::dane; + +fn main() -> Result<()> { + let domain = env::args() + .nth(1).expect("Usage: dane-get <DOMAIN> <CERT-FILE>"); + let cert_file = env::args() + .nth(2).expect("Usage: dane-get <DOMAIN> <CERT-FILE>"); + + let p = StandardPolicy::new(); + let cert = Cert::from_file(cert_file)?; + let vcert = cert.with_policy(&p, None)?; + for record in dane::generate(&vcert, domain, None, None)? { + println!("{}", record); + } + + Ok(()) +} diff --git a/net/examples/dane-get.rs b/net/examples/dane-get.rs new file mode 100644 index 00000000..0d412918 --- /dev/null +++ b/net/examples/dane-get.rs @@ -0,0 +1,25 @@ +//! Demonstrates how retrieve certs via DANE. + +use std::{ + env, + io, +}; + +use sequoia_openpgp::{ + Result, + serialize::Serialize, +}; + +use sequoia_net::dane; + +#[tokio::main] +async fn main() -> Result<()> { + let address = env::args() + .nth(1).expect("Usage: dane-get <EMAIL-ADDRESS>"); + + for cert in dane::get(address).await? { + cert?.armored().serialize(&mut io::stdout())?; + } + + Ok(()) +} |