4.11. dnssec-dsfromkey --- DS RR generator

4.11.1. Synopsis

dnssec-dsfromkey [-v level] [-a <algorithm>] [-C] [-l domain] [-T <ttl>] <keyfile>

dnssec-dsfromkey [-s] [-a <algorithm>] [-K directory] [-l domain] [-s] [-c class] [-T <ttl>] [-f file] [-A] [-v level] <dnsname>

dnssec-dsfromkey [-h] [-V]

4.11.2. Description

dnssec-dsfromkey generates DS and CDS resource records for the given DNSKEYs. By default, records using SHA-256 and SHA-384 digests are printed.

4.11.3. Options

-a <algorithm>

Select the digest algorithm. The value of <algorithm> must be one of SHA256 (SHA-256), or SHA384 (SHA-384). These values are case-insensitive.


Generate CDS records rather than DS records. This is mutually exclusive with generating lookaside records.

-T <ttl>

Specifies the TTL of the DS records.

-K <directory>

Look for key files (or, in keyset mode, keyset- files) in <directory>.

-f <file>

Zone file mode: in place of the keyfile name, the argument is the DNS domain name of a zone master file, which can be read from <file>. If the zone name is the same as <file>, then it may be omitted.

If <file> is set to -, then the zone data is read from the standard input. This makes it possible to use the output of the dig(1) command as input, as in:

$ dig dnskey example.com | dnssec-dsfromkey -f - example.com

Include ZSKs when generating DS records. Without this option, only keys which have the KSK flag set will be converted to DS records and printed. Useful only in zone file mode.


Keyset mode: in place of the keyfile name, the argument is the DNS domain name of a keyset file.

-c <class>

Specifies the DNS class. The default is IN. Useful only in keyset or zone file mode.

-v <level>

Set the verbosity level.


Print usage information and exit.


Print the program's version and exit.

4.11.4. Examples

To generate DS RRs for the keyfile Kexample.com.+013+15010.key, the following command can be used:

$ dnssec-dsfromkey Kexample.com.+013+15010.key

The command would print something like:

example.com. IN DS 15010 13 2 9F84AB5A308C7179913242A4FBF158DB6C6258A97D132DB05E1B4E72D1FF9CA0
example.com. IN DS 15010 13 4 A7E3D858C22859DC8708A49EB98C19922C371B4B4DBDCAEEC9E098A85F60B9C78C45108437A9F60066D507E46554650D

4.11.5. Files

The keyfile can be designed by the key identification Knnnn.+aaa+iiiii or the full file name Knnnn.+aaa+iiiii.key as generated by dnssec-keygen(1).

The keyset file name is built from the <directory>, the string keyset- and the <dnsname>.

4.11.6. Caveat

A keyfile error can result in a "file not found" error even if the file exists.

4.11.7. See also

dnssec-keygen(1), dnssec-signzone(1)