summaryrefslogtreecommitdiffstats
path: root/net/examples/dane-generate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'net/examples/dane-generate.rs')
-rw-r--r--net/examples/dane-generate.rs28
1 files changed, 28 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(())
+}