b25eb999c7ed3db51c51bd3de8a2661b052aebdf
[dnssec-prover] / src / lib.rs
1 //! The DNS provides a single, global, hierarchical namespace with (when DNSSEC is used)
2 //! cryptographic guarantees on all of its data.
3 //!
4 //! This makes it incredibly powerful for resolving human-readable names into arbitrary, secured
5 //! data.
6 //!
7 //! Unlike TLS, this cryptographic security provides transferable proofs which can convince an
8 //! offline device, using simple cryptographic primitives and a single root trusted key, of the
9 //! validity of DNS data.
10 //!
11 //! This crate implements the creation and validation of such proofs, using the format from RFC
12 //! 9102 to create transferable proofs of DNS entries.
13 //!
14 //! It is no-std (but requires `alloc`) and seeks to have minimal dependencies and a reasonably
15 //! conservative MSRV policy, allowing it to be used in as many places as possible.
16
17 #![deny(missing_docs)]
18
19 #![cfg_attr(not(feature = "std"), no_std)]
20 extern crate alloc;
21
22 pub mod rr;
23 pub mod validation;
24 mod ser;
25
26 #[cfg(feature = "std")]
27 pub mod query;