DNSSEC Key Rollover Calculator

July 15, 2026

DNSSEC Key Rollover Calculator

Plan DNSSEC KSK, ZSK, and combined key rollovers with DNSKEY TTL, DS TTL, parent publication delay, prepublish time, signature validity, resign interval, zone count, and resolver cache buffer.

🔑Named DNSSEC Rollover Presets
⚙Rollover Timing Inputs
KSK and algorithm rollovers include parent DS timing; ZSK rollovers mostly wait on DNSKEY and RRSIG visibility.
The date when the new DNSKEY first appears in the signed zone.
Registrar, registry, CDS scanner, and parent zone signing delay before the new DS is reliably visible.
How long the new key is visible before it becomes active for signing or validation.
How often new RRSIGs are generated, not the full RRSIG lifetime.
Extra wait for sticky recursive caches, negative cache quirks, monitoring lag, or stale-answer serving.
Risk score increases when validation checks are light, TTLs are unknown, or the parent publication path is slow.
Safe retirement waits for the longest relevant path: DNSKEY cache, parent DS publication plus DS TTL, resolver buffer, and a resign interval.
Safe Rollover Window
--
days to keep both keys valid
Earliest Retire Date
--
old key removal checkpoint
Overlap Days
--
publish to retirement
Risk Level
--
timing and validation score
📊DNSSEC Timing Snapshot
KSK
Parent dependent

Wait for new DS publication, DS TTL, DNSKEY TTL, and resolver cache buffer before retiring the old KSK.

ZSK
Zone dependent

Prepublish the new ZSK, sign with it, then keep the old ZSK until DNSKEY caches and old signatures age out.

RRSIG
Validity guard

Short signature validity can make a rollover urgent; long validity can leave old signatures visible longer.

Fleet
Batch planner

Zone count, batch size, and gap estimate the final zone retirement date for staged home lab or hosted DNS fleets.

🗓Rollover Timing Tables
PhaseKSK double-DS timingZSK prepublish timingRetire condition
Publish new keyAdd new KSK DNSKEY while old DS remains valid.Add new ZSK DNSKEY before signing with it.Authoritative servers must all serve the new DNSKEY.
Parent or cache waitWait parent publish delay plus parent DS TTL.Wait at least DNSKEY TTL plus resolver buffer.Validators can build a valid chain using cached or fresh data.
Activate signingMove DS trust to the new KSK once visible.Generate RRSIGs with the new ZSK.New signatures validate across multiple resolvers.
Retire old keyRemove old DS first, then old KSK after DS and DNSKEY caches expire.Remove old ZSK after old signatures and DNSKEY RRsets are no longer needed.Old key is absent from validation paths and caches are exhausted.
InputConservative useTypical rangeFailure if underestimated
DNSKEY TTLMinimum cache wait for key RRset changes.1 hour to 2 daysResolvers may miss the key needed for validation.
DS TTLParent-side wait after DS changes.1 day to 3 daysValidators may follow an old DS to a removed KSK.
Parent publish delayRegistrar, registry, and CDS processing delay.Minutes to 7 daysNew DS may not exist when the old trust path is removed.
Resolver bufferExtra hold time for stale caches and monitoring lag.6 hours to 3 daysEdge resolvers can serve old trust data longer than expected.
ScenarioSuggested overlapRisk driverOperational note
Single ZSK rollover2 to 7 daysDNSKEY TTL and old RRSIGsCheck all authoritative nodes before activation.
KSK registrar rollover7 to 21 daysParent DS delay and DS TTLConfirm parent DS from outside your network.
Algorithm rollover14 to 45 daysDual algorithm validationKeep both algorithms until validators accept the new one.
Multi-signer migration14 to 30 daysShared DNSKEY and provider syncBoth signers must publish compatible DNSKEY RRsets.
⚖Algorithm and Key Comparison Grid
ECDSA P-256
Compact default

Small DNSKEY and RRSIG records reduce UDP fragmentation risk during overlap.

ED25519
Modern compact

Very small signatures, but confirm registrar, parent, and validator support before switching.

RSA 2048
Broad support

Compatible and familiar, but larger DNSKEY RRsets make overlap responses heavier.

RSA 3072
Large RRset

Longer keys increase DNSKEY answer size and may justify extra resolver buffer.

📘Key Rollover Reference
Rollover typeNew key stateOld key stateImportant check
ZSK prepublishPublished, then active for new RRSIGs.Kept until old signatures and DNSKEY caches age out.Validate signed RRsets with public recursive resolvers.
KSK double-DSPublished and matched by new parent DS.Kept until old DS and DNSKEY caches age out.Query parent zone for both DS states during transition.
Double-RRset KSKNew DNSKEY signs DNSKEY RRset before DS switch.Old DNSKEY signs until trust path moves.Confirm DNSKEY RRset validates through both KSKs.
Algorithm rolloverNew algorithm signs required RRsets.Old algorithm remains until new chain is trusted.Do not remove old algorithm before all DS and DNSKEY caches clear.
Multi-signerBoth providers publish synchronized key material.Old signer remains authoritative through migration.Check every nameserver returns consistent DNSKEY and RRSIG data.
💡DNSSEC Rollover Tips
Check parent and child separately: A KSK rollover can look correct at the authoritative child zone while the parent DS is still old, missing, or cached by validators.
Watch DNSKEY response size: Overlap periods add keys and signatures. Large RSA keys can push DNSKEY answers toward UDP fragmentation or TCP fallback.
Keep monitoring outside your resolver: Test with validating public resolvers, direct authoritative queries, and DNSSEC analyzers so local cache state does not hide mistakes.
Prevent signature expiry mid-roll: Signature validity should exceed the calculated overlap plus resign jitter, especially for slow parent or fleet rollovers.

DNSSEC destroys trust on ‘net when you turn over a new key. You need to do it; rotating keys is a necessary evil for security. But it means breaking the chain of validation for everyone trying to reach your site while you turn the key. If you misjudge it too much, nobody can see your site again for a while. They won’t be able to until caches time out and all the validating server finally give up looking for signatures that don’t exist anymore.

It’s not really about crypto, so much as it is about patience. Once you type in your parent delay and TTLs the calculator will figure out the math for you so you know for sure: yes, two days should of be enough time for my slow-ass registrar to propogate the change. We all think we’re waiting on our own servers to update, but really we’re waiting for everyone else’s updates to propagate around Internet.

Why You Must Be Patient When Changing Keys

Rolling over a Zone Signing Key seems like it should be easy enough. It happens completely inside your zone. Publish new key and start using it to sign things. Then, just wait until old signatures has expired. Except you can’t instantly remove the old key once the new one has been published.

DNSKEY records gets cached aggressively by resolvers. Maybe yours has a TTL of twelve hours. But recursive server in Tokyo could have cached your record for days afterward. If you remove the old key before the caches clear, there will be a validation gap. The validator looks at a response signed by Key A while its cache contains only Key B, which was removed long ago. An insecure response follows.

It is a small point but worth noting. A third party is typically involved: your TLD registry. There’s nothing you can do about the delay between when you upload new DS record and when parent zone publishes it. Registrars range from instant (using CDS protocols) to three business days. The parent delay is included in the safe retirement window in the calculator, so you don’t pull down the old KSK before everyone sees the new trust anchor everywhere.

That’s the critical path. The DS record must be published to your ISP’s recursive resolvers and root hints first. If that hasn’t happened, your locally cached dnskey ttl doesn’t matter. Wait for slowest link in the chain.

In addition, running two parallel validation chains on the road to algorithm changeover are even slower, since you need to wait until each validator has signed off on the new method. This is like changing lanes while driving, until you’re completely over the line, you’re straddling both. When you have thousands of zones, this isn’t just a crypto problem but also a logistics one. You can’t simply roll them all at once or else you’ll get slammed with huge numbers of failed resolutions. By staggering it into batches, you spread out the workload and can identify errors early. And tool helps account for those batch gaps so you can plan out exactly when your final zone will be safe to retire its old keys.

None of this leaves you free to assume that if your resolver doesn’t say it’s broken then nothing’s wrong. Half the planet could be seeing insecure responses while yours thinks its local cache is fine. Keep an eye out using external probes and other public validation tools; make sure the chain of trust isn’t broken at any step in the process. Be aware also that introducing a new key during overlap will cause the answer set to grow larger, so watch out for response sizes. Adding large RSA keys may bloat payloads until they fall back to TCP. That’ll slow down resolution even more, with risk of timeout errors as well. It’s a small friction but it adds up fast.

You don’t rush it because that’s not the point. You’re removing friction. You respect the hidden clocks ticking away on every server around the world. You livig in your own zone, but you aren’t the internet. By accounting for that overlap exactly, when you ultimately drop the old key everyone has their hand on something they can verify. The trust isn’t broken. The site isn’t compromised. Not a single user even knows the switch occur.

DNSSEC Key Rollover Calculator

Related posts

Leave a Comment