Verifying signing is actually working after enabling it
Publishing DNSKEY records without a matching DS in the parent produces a signed-but-unvalidated zone. The check distinguishes the two states.
Verifies whether a domain has DNSSEC enabled (DNSKEY records).
Verifies whether a domain has DNSSEC enabled (DNSKEY records).
example.com
DNSSEC: ENABLED — 2 DNSKEY records found
Presence of DNSKEY records indicates signing.
DNSKEY records show the domain is signed; full validation requires the DS chain.
Your input is sent to YAS infrastructure because the tool requires server-side processing or public network queries. Input is not stored.
curl -X POST "https://yas.sh/api/v1/tools/dnssec-check" \
-H "Content-Type: application/json" \
-d '{"domain":"yas.sh"}'const res = await fetch("https://yas.sh/api/v1/tools/dnssec-check", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"domain": "yas.sh"
}),
});
const data = await res.json();import requests
r = requests.post("https://yas.sh/api/v1/tools/dnssec-check", json={"domain":"yas.sh"})
data = r.json()| Field | Type | Required | Description |
|---|---|---|---|
| domain | string | Yes | Domain, e.g. example.com |
{ "domain": "yas.sh", "dnssec": true, "zoneSigningKeys": 1, "keySigningKeys": 1, "status": "SIGNED" }Verify whether a domain has DNSSEC (DNSKEY records via Google DoH).
400 VALIDATION_ERROR — invalid input or unsupported option.413 PAYLOAD_TOO_LARGE — input exceeds the 64 KB limit.429 RATE_LIMIT_EXCEEDED — rate limit exceeded (60 req/min).DNSSEC signs DNS records so a resolver can verify they were not altered in transit. Each zone holds a key-signing key and a zone-signing key published as DNSKEY records; record sets are signed into RRSIG records. The chain of trust runs downward: a DS record in the parent zone contains a digest of the child's KSK, so the root's trust anchor validates the TLD, which validates the domain.
Validation fails closed. If a signature is expired, a DS record does not match the published DNSKEY, or an algorithm is unsupported, a validating resolver returns SERVFAIL rather than the unsigned answer — the domain becomes unreachable for a large share of users. That property makes DNSSEC misconfiguration an outage rather than a degraded security posture, which is why key rollovers must be sequenced carefully.
Publishing DNSKEY records without a matching DS in the parent produces a signed-but-unvalidated zone. The check distinguishes the two states.
Non-validating resolvers still answer while validating ones fail, producing an outage that looks intermittent. A broken chain explains it immediately.
Confirming both old and new keys are published and the DS matches before retiring the old key avoids the classic rollover outage.
Government and financial requirements increasingly mandate DNSSEC; evidence of a valid chain is the artefact auditors ask for.
What this tool deliberately does not do, and where it will disagree with other implementations.