From 90325b7b3fb3a41a33c6c759c29ecbf0aced900d Mon Sep 17 00:00:00 2001 From: Matt Corallo Date: Thu, 11 Jul 2024 19:34:53 +0000 Subject: [PATCH] Add a simple README --- README | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 README diff --git a/README b/README new file mode 100644 index 0000000..c2b5f72 --- /dev/null +++ b/README @@ -0,0 +1,26 @@ +This repo has a handful of APIs to create and verify RFC 9102 proofs. + +It has minimal dependencies (bitcoin_hashes for hashing operations, hex_lit for +some hex constants, and optionally tokio for networking in some APIs). + +There are numerous APIs present: + * Building the crate as a library provides a handful of DNS types, including + (de)serialization for them. + * Building the crate as a library with the `validation` feature also enables + the `validation` module, which allows for verification of an RFC 9102 proof. + * Building the crate as a library with the `std` feature enables the `query` + module which can build an RFC 9102 proof using repeated queries to any + standard DNS server (including over DoH). + * The `wasmpack` directory and `uniffi` directory expose very simplified APIs + to build and verify RFC 9102 proofs either in WASM (via wasm-pack, see-also + the `wasmpack/doh_lookup.js` file which can build RFC 9102 proofs using + repeated queries to a DoH server directly from JavaScript) or any language + supported by `uniffi`. + * Building the the `http_proof_gen` binary in the crate builds an HTTP server + which responds to requests for RFC 9102 proofs in the form + `/dnssecproof?d=domain&t=rr_type`, returning the binary proof containing and + proving the Resource Record of type `rr_type` at `domain`. + +See https://docs.rs/dnssec-prover for full API details on the Rust API. +There's also a website which demonstrates the WASM build of this crate at +https://http-dns-prover.as397444.net/ which allows for making validated queries. -- 2.39.5