mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 19:25:56 +03:00
[GH-ISSUE #2855] Use system root DNSSEC keys instead of hardcoding keys #1076
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#1076
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @WhyNotHugo on GitHub (Mar 16, 2025).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/2855
Is your feature request related to a problem? Please describe.
I'm working on pimsync, a tool to synchronise calendars and contacts. I use DNS service discovery to find the location CalDAV and CardDAV servers.
My current implementation doesn't do DNSSEC validation and merely tells users that they are responsible for using a validating revolver. I'd like to use hickory-resolver to resolve the SRV records and ensure that DNSSEC is used
The docs indicates that hickory-resolver hard-codes the roots into the system (I suppose "system" here means "the compiled binary"). This isn't suitable for a re-distributable project like this, since it unconditionally overrides the system's local security configuration with a vendored policy. I need to use the system's local DNSSEC root (e.g.: from
/usr/share/dnssec-root/trusted-key.key).Describe the solution you'd like
A feature flag to use the system's local DNSSEC roots.
Describe alternatives you've considered
Embedding the roots statically as done now. This ignores any local configuration which the user may have performed, like adding their own roots for a specific domain.
Additional context
@djc commented on GitHub (Mar 17, 2025):
Which version did you look at?
mainhas aResolverOpts::trust_anchorfield that I think might do what you need.@WhyNotHugo commented on GitHub (Mar 17, 2025):
That seems to be exactly it. I only checked the README and the docs at docs.rs.
I'll wait for the next release in that case. Thanks!
@djc commented on GitHub (Mar 17, 2025):
(See #2206.)