ldns-keygen(1)

ldns-keygen1

Generate a dnssec key pair

Usage

ldns-keygen [OPTION] DOMAIN

Overview

ldns-keygen is used to generate a private/public keypair. When run, it will create 3 files; a .key file with the public DNSKEY, a .private file with the private keydata and a .ds with the DS record of the DNSKEY record.

ldns-keygen can also be used to create symmetric keys (for TSIG) by selecting the appropriate algorithm: hmac-md5.sig-alg.reg.int, hmac-sha1, hmac-sha224, hmac-sha256, hmac-sha384 or hmac-sha512. In that case no DS record will be created and no .ds file.

ldns-keygen prints the basename for the key files: K<name>+<alg>+<id>

Options

-a <algorithm>

Create a key with this algorithm. Specifying 'list' here gives a list of supported algorithms. Several alias names are also accepted (from older versions and other software), the list gives names from the RFC. Also the plain algo number is accepted.

-b <bits>

Use this many bits for the key length.

-k

When given, generate a key signing key. This just sets the flag field to 257 instead of 256 in the DNSKEY RR in the .key file.

-r device

Make ldns-keygen use this file to seed the random generator with. This will default to /dev/random.

-s

ldns-keygen will create symbolic links named .private to the new generated private key, .key to the public DNSKEY and .ds to the file containing DS record data.

-f

force symlinks to be overwritten if they exist.

-v

Show the version and exit

Releases

10 releases since Debian 5.0 (Lenny); the text changed 5 times.

  1. 5.0–6.0
  2. 7
  3. 8
  4. 9–11
  5. 12
  6. 13–Arch

-f since Debian 12 (Bookworm); -s since Debian 12 (Bookworm).

Author

Written by the ldns team as an example for ldns usage.

Reporting bugs

Report bugs to <[email protected]>.

From ldns 1.9.2-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.