Re: [BIND-users] DNSSEC Key Management: Using dnssec-policy with Externally Generated Keys — KASP Auto-Retiring Newly Copied Keys

Matthijs Mekking matthijs at isc.org
Thu Mar 19 11:46:42 UTC 2026



On 3/19/26 10:59, Petr Špaček wrote:
> On 19. 03. 26 10:18, Matthijs Mekking wrote:
>> On 3/18/26 13:11, Nagesh Thati wrote:
>>> I wanted to follow up on my earlier question regarding using dnssec- 
>>> policy with externally generated keys in BIND 9.18.35 and share that 
>>> the suggested approach worked successfully.
>>>
>>> To summarize what worked for our implementation:
>>>
>>> 1. Using the -G flag with dnssec-keygen to generate pregenerated keys 
>>> with no timing metadata (only the Created field is present). This was 
>>> the key insight we were missing — our keys previously had full timing 
>>> metadata which caused BIND's KASP engine to mishandle them.
>>
>> Sounds good.
>>
>>
>>> 2. Copying the pregenerated keys to the key directory and running 
>>> 'rndc loadkeys' is sufficient for BIND to detect and schedule the 
>>> rollover automatically. There is no need to run 'rndc dnssec - 
>>> rollover' for normal lifecycle rollovers — doing so prematurely 
>>> caused immediate key deletion in our testing, bypassing the double- 
>>> signature phase entirely.
>>
>> Correct. Only if you have key lifetime unlimited, you will need to run 
>> 'rndc dnssec -rollover'. Some operators like to control when they 
>> start rolling their key (external to BIND 9), but you can rely on 
>> dnssec- policy's key lifetime, as long as you pregenerate the keys 
>> before the successor needs to be pre-published.
> 
> Wondering out loud:
> Could the new 'manual' mode in dnssec-policy be even better? It would 
> prevent any automatic change at all, resulting in better external control.

It's a trade off between operational complexity and control.

With manual-mode you will have to examine logs and issue rndc commands 
manually to progress rollovers.

Also with manual-mode you still have to put pregenerated keys in the 
key-directory if you don't want BIND to create them.

- Matthijs




More information about the bind-users mailing list