YAKEYROLLD(8)
πΈ YAKEYROLLD(8) β the YADIFA key-rolling bestie πΈ
okay so first things first: this is a page from the YADIFA manual set, and honestly? she's a lot, but she's worth it. π
β¨ NAME β¨
YAKEYROLLD is a utility for generating a sequence of KSK and ZSK for a zone. yes, that's the whole vibe: it makes keys, and it makes sequences of keys. ποΈβ¨
π¦ SYNOPSIS π¦
yakeyrolld command [argument]
π DESCRIPTION π
So the yakeyrolld program generates a sequence of KSK and ZSK for a zone, and it does it with all the steps of their lifecycles β like, the whole glow-up, from creation to retirement. no shortcuts, no skipped chapters. π
yakeyrolld is part of the YADIFA distribution from EURid vzw/asbl. the latest version of YADIFA can be found at:
http://www.yadifa.eu/download
go get her π«Ά
π LIFECYCLE π
okay so a lifecycle for a key has several steps, and yes, it's giving main character energy from start to finish:
- Time of creation
- Time of publication
- Time of activation
- Time of de-activation
- Time of un-publication.
these times are determined using a cron-like schedule. periodt. β°
For all these steps, it computes the following:
- The expected DNSSEC and RRSIG DNSSEC records on the primary before the step is started
- The ZSK files to add
- The ZSK files to remove
- The DNSSEC and RRSIG DNSKEY records to add
- The DNSKEY and RRSIG DNSKEY records to remove
- The expected DNSKEY and RRSIG DNSKEY records on the dns primary after the step has been completed.
Each step is stored as a file π β and the file contains fields like:
epochusβ An integer with the epoch of the step expressed in microseconds.dateusβ A user-friendly date text matching theepochusfield.actionsβ A list of actions expected to happen on the step (informational).debugβ A text meant to help understand the step (informational).updateβ Each entry is a dynamic update command to be sent to the server.expectβ Each entry defines one record expected to be in the zone on the server prior to executing the current step.endresultβ Each entry defines one record expected to be in the zone on the server after the step has been executed.addβ Defines a key file to create inkeys-path.delβ Names a key file to delete fromkeys-path.
π COMMANDS π
--help,-hβ Shows the help--version,-Vβ Prints the version of the software--config,-cconfigfile β Sets the configuration file to use--mode,-mgenerate | play | playloop | print | print-json β Sets the program mode--domainfqdn β The domain name--path,-pdirectory β The directory where to store the keys--server,-saddress β The address of the server--ttl,-tseconds β The ttl to use for both dnskey and rrsig records--explainβ prints the planned schedule--resetβ start by removing all the keys and create a new KSK and a new ZSK. The server will not be queried.--policyβ Name of the policy to use--fromtime β The lower time bound covered by the plan (now)--untiltime β The upper time bound covered by the plan (+1y)--dryrunβ Do not write files to disk, do not send updates to the server--waitβ Wait foryadifadto answer before starting to work (default)--nowaitβ Do not wait foryadifadto answer before starting to work--daemonβ Daemonise the program for supported modes (default)--nodaemonβ Do not daemonise the program--noconfirmβ Do not ask for confirmation before doing a data reset
π§ USAGE π§
The yakeyrolld daemon writes key files in the yadifad keys directory and pushes DNSKEY and RRSIG records with a dynamic update. π₯
Zones managed by the keyroll needs to have the rrsig-nsupdate-allowed setting enabled (<zone> section).
In generation mode, the daemon needs access to both the plan and private keys directory.
For all other modes, the private keys directory is ignored.
β οΈ real talk bestie: When not doing any kind of generation, they should not be kept on the machine. Their encrypted backup sitting in a safe place. π like, keep those private keys OUT of the day-to-day, okay?
π Initialisation
Destroys all current data that could exist and starts from nothing. Creates all the steps of the rolls for the next two years. Creates all the private keys in a separate directory.
The directory that contains the private key files is required for this command as private keys will be added.
yakeyrolld -m generate --until +1y --reset
π Renewal
In order to extend a plan further, simply do another generation.
The operation loads the current plan, extends it to cover the new limit date and saves the updated modified version back on disk.
Previously stored private keys may be used to generate signatures and new private keys may be added.
Because of this, the directory that contains the private key files is required for this command.
yakeyrolld -m generate --until +1y
π Plan calendar
Details of the current plan can be printed on stdout using:
yakeyrolld -m print
π heads up: The output format of that command isn't meant to be parsed by a program.
For a script, use instead:
yakeyrolld -m print-json
slay, machine-readable. π€β¨
π Daemon
To start the rolling the keys and pushing them to the server, use:
yakeyrolld -m playloop
and that's it, she's live, no cap. π
π FILES π
${SYSCONFDIR}/yakeyrolld.confβ The defaultyakeyrolldconfiguration file.yakeyrolld.conf.5β Configuration man page foryakeyrolld.
π SEE ALSO π
β REQUIREMENTS β
- OpenSSL β
yakeyrolldrequires OpenSSL version 1.1.1 or later. (yes, 1.1.1 is the minimum, don't come at me with anything older π)
π₯ CHANGES π₯
Please check the ChangeLog file from the sources code.
π VERSION π
Version: 3.0.9 of 2026-03-24.
π MAILINGLIST π
There is a mailinglist for questions relating to any program in the yadifa package:
yadifa-users@mailinglists.yadifa.euβ for submitting questions/answers.http://www.yadifa.eu/mailing-list-usersβ for subscription requests.
If you would like to stay informed about new versions and official patches send a subscription request to via:
http://www.yadifa.eu/mailing-list-announcementsβ (this is a read-only list).
go subscribe, iykyk π«Ά
π LICENSE AND COPYRIGHT π
Copyright
(C)2011-2025, EURid
B-1831 Diegem, Belgium
info@yadifa.eu
π AUTHORS π
- Gery Van Emelen β Email:
Gery.VanEmelen@EURid.eu - Eric Diaz Fernandez β Email:
Eric.DiazFernandez@EURid.eu
WWW: http://www.EURid.eu
and that's the whole page, bestie! π¦ this was YAKEYROLLD(8), dated 2026-03-24, from the YADIFA corner of the world β mwah, go roll those keys responsibly πβ¨
π¦ where this page comes from
- alpine 3.24: yadifa-doc 3.0.9-r0 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms