#dns-records #dns #dnssec #dns-server #resources #no-std #rfc9102

no-std bin+lib dnssec-prover

一个简单的 crate,允许创建和验证 DNS 条目的可转让证明。

23 个版本 (5 个破坏性更新)

0.6.5 2024 年 8 月 1 日
0.6.3 2024 年 7 月 10 日
0.5.1 2024 年 3 月 2 日

#275 in 密码学

Download history 41/week @ 2024-04-15 148/week @ 2024-05-20 1/week @ 2024-06-10 41/week @ 2024-07-01 635/week @ 2024-07-08 65/week @ 2024-07-15 299/week @ 2024-07-29

1,033 个月下载量

MIT/Apache

1MB
5K SLoC

此仓库提供了一些用于创建和验证 RFC 9102 证明的 API。

它具有最少的依赖(用于哈希操作的 bitcoin_hashes,用于一些十六进制常量的 hex_lit,以及可选的 tokio 用于某些 API 的网络)。

存在许多 API

  • 将 crate 构建为库提供了一些 DNS 类型,包括它们的序列化和反序列化。
  • 将 crate 构建为具有 validation 功能的库也启用了 validation 模块,允许验证 RFC 9102 证明。
  • 将 crate 构建为具有 std 功能的库启用了 query 模块,该模块可以使用对任何标准 DNS 服务器(包括 DoH)的重复查询来构建 RFC 9102 证明。
  • wasmpack 目录和 uniffi 目录提供了用于在 WASM(通过 wasm-pack)或任何由 uniffi 支持的语言中构建和验证 RFC 9102 证明的非常简化的 API。
  • 在 crate 中构建 http_proof_gen 二进制文件将构建一个 HTTP 服务器,该服务器响应对 RFC 9102 证明的请求,形式为 /dnssecproof?d=domain&t=rr_type,返回包含并证明类型为 rr_type 的资源记录的 domain 的二进制证明。

slower_smaller_binary 功能将证明验证速度减慢 50%+,但二进制文件大小仅略有减少,但对于极端的二进制文件大小限制,可能仍然有用。

请参阅 https://docs.rs/dnssec-prover 了解 Rust API 的完整 API 详情。还有一个网站演示了此 crate 的 WASM 构建,网址为 https://http-dns-prover.as397444.net/,允许进行验证查询。

依赖关系

~0–8.5MB
~66K SLoC