pub async fn verify_zone_signed(zone_name: &str, server: &str) -> Result<bool>Expand description
Verify that a zone is signed with DNSSEC by querying for DNSKEY records.
This function performs a DNS query to check if the zone has been signed with DNSSEC. It queries for DNSKEY records, which are present in signed zones.
§Arguments
zone_name- The DNS zone name to verify (e.g., “example.com”)server- The DNS server address (e.g., “bind9-primary.bindy-system.svc.cluster.local:5353”)
§Returns
Ok(true)- Zone is signed (DNSKEY records found)Ok(false)- Zone is not signed (no DNSKEY records)Err(_)- Query failed (network error, invalid zone name, etc.)
§Errors
Returns an error if:
- The DNS server address cannot be parsed
- The zone name is invalid
- The DNS query fails (network error, timeout, etc.)
§Example
use bindy::bind9::zone_ops::verify_zone_signed;
let signed = verify_zone_signed(
"example.com",
"10.0.0.1:5353"
).await?;
if signed {
println!("Zone is signed with DNSSEC");
} else {
println!("Zone is not signed");
}