GENKRF(1)

πŸ“¦ version 2.2.3, in arch rolling

πŸ’– genkrf(1) β€” the perl-contributed man page, but make it make sense πŸ’–

okay bestie, buckle up, this is genkrf from the User Contributed Perl Documentation section and it's literally about making keyrec files out of your KSK and/or ZSK files ✨


🌸 NAME 🌸

genkrf β€” generate a keyrec file from Key Signing Key (KSK) and/or Zone Signing Key (ZSK) files πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

genkrf [options] <zone-file> [<signed-zone-file>]

that's it, that's the whole vibe check πŸ’…


✨ DESCRIPTION ✨

so genkrf does the thing where it generates a keyrec file from KSK and/or ZSK files. and like, it's not just sitting there β€” it will generate brand-new KSK and ZSK keys if it needs them πŸ”₯

the name of the keyrec file it's gonna generate? that comes from the -krfile option. if you don't give that option, no worries, it just uses zone-name.krf as the keyrec file name. and heads up β€” if the keyrec file already exists, it will be overwritten with new keyrec definitions. so don't get attached to the old one 😭

the zone-file argument is required, no cap. it's the name of the zone file that the signed zone file was created from. the optional signed-zone-file argument is the name of the signed zone file. if you don't pass it, it defaults to zone-file.signed. and tbh? the signed zone file field is, in effect, a dummy field, because ✨the zone file is not actually signed✨ β€” it's giving placeholder energy, but that's just how it is πŸ™ˆ


πŸ’œ OPTIONS πŸ’œ

genkrf has a bunch of options that help with creating the keyrec file. these options get set to the first value found from this search path:

command line options
DNSSEC-Tools configuration file
DNSSEC-Tools defaults

check tooloptions.pm(3) for more details on that. any exceptions to this are called out in the individual option descriptions 🫢

the genkrf options are described below, and yes we're going through all of them πŸ’–

🌈 General genkrf Options 🌈

  • -zone zone-name β€” specifies the name of the zone. if you don't give it, then zone-file gets used as the name of the zone. easy πŸ’«
  • -krfile keyrec-file β€” specifies the name of the keyrec file to be generated. if you don't give it, then zone-name.krf is used.
  • -algorithm algorithm β€” specifies the algorithm used to generate encryption keys πŸ”
  • -endtime endtime β€” specifies the time that the signature on the zone expires, measured in seconds ⏰
  • -random random-device β€” the source of randomness used to generate the zone's keys. see the man page for dnssec-signzone for the valid format of this field 🎲
  • -verbose β€” display additional messages during processing. if you give this option at least once, you get a message saying the keyrec file was generated successfully πŸŽ‰. if you give it twice, then the values of all the options get displayed too. double verbose, double iconic πŸ‘‘
  • -Version β€” displays the version information for genkrf and the DNSSEC-Tools package πŸ“¦
  • -help β€” display a usage message πŸ†˜
  • -kskcur KSK-name β€” specifies the Current KSK's key file being used to sign the zone. if you don't give this option, a new KSK will be created ✨
  • -kskcount KSK-count β€” specifies the number of KSK keys that will be generated. if you don't give it, the default given in the DNSSEC-Tools configuration file gets used.
  • -kskdir KSK-directory β€” specifies the absolute or relative path of the directory where the KSK resides. if you don't give it, it defaults to the current directory "." πŸ“
  • -ksklength KSK-length β€” specifies the length of the KSK encryption key πŸ“
  • -ksklife KSK-lifespan β€” specifies the lifespan of the KSK encryption key. ngl, this lifespan is not inherent to the key itself β€” it's only used to determine when the KSK must be rolled over πŸ”„
  • -zskcur ZSK-name β€” specifies the current ZSK being used to sign the zone. if you don't give this option, a new ZSK will be created ✨
  • -zskpub ZSK-name β€” specifies the published ZSK for the zone. if you don't give this option, a new ZSK will be created.
  • -zskcount ZSK-count β€” specifies the number of current and published ZSK keys that will be generated. if you don't give it, the default given in the DNSSEC-Tools configuration file gets used.
  • -zskdir ZSK-directory β€” specifies the absolute or relative path of the directory where the ZSKs reside. if you don't give it, it defaults to the current directory "." πŸ“
  • -zsklength ZSK-length β€” specifies the length of the ZSK encryption key πŸ“
  • -zsklife ZSK-lifespan β€” specifies the lifespan of the ZSK encryption key. same deal as the KSK one: this lifespan is not inherent to the key itself, it's only used to determine when the ZSK must be rolled over πŸ”„

Copyright 2005-2014 SPARTA, Inc. All rights reserved. see the COPYING file included with the DNSSEC-Tools package for details πŸ“œ


🧚 AUTHOR 🧚

Wayne Morrison, tewok@tislabs.com β€” ty wayne, you ate πŸ’…


⭐ SEE ALSO ⭐


and that's the whole page bestie 🫢 this one's perl v5.44.0, dated 2026-10-17, and it's the GENKRF(1) page β€” go forth and generate those keyrec files, you've got this πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from