dnssec-keygen.docbook revision 8b78c993cb475cc94e88560941b28c37684789d9
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
b0e8629055a766d4555a005a283c2889a5974945Mark Andrews "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews [<!ENTITY mdash "—">]>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Copyright (C) 2000-2003 Internet Software Consortium.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - Permission to use, copy, modify, and/or distribute this software for any
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - purpose with or without fee is hereby granted, provided that the above
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - copyright notice and this permission notice appear in all copies.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
2f8d63983c297c62630044d28a6f66676b4d339dMark Andrews - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews - PERFORMANCE OF THIS SOFTWARE.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<!-- $Id: dnssec-keygen.docbook,v 1.29 2009/10/05 17:30:49 fdupont Exp $ -->
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <refentryinfo>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </refentryinfo>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <refentrytitle><application>dnssec-keygen</application></refentrytitle>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <refnamediv>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <refname><application>dnssec-keygen</application></refname>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <refpurpose>DNSSEC key generation tool</refpurpose>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </refnamediv>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </copyright>
c115370fcb34be129ad93fd61c4a4767a214eea2Mark Andrews </copyright>
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews <refsynopsisdiv>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <cmdsynopsis>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-a <replaceable class="parameter">algorithm</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg ><option>-b <replaceable class="parameter">keysize</replaceable></option></arg>
c115370fcb34be129ad93fd61c4a4767a214eea2Mark Andrews <arg><option>-n <replaceable class="parameter">nametype</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-A <replaceable class="parameter">date/offset</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-c <replaceable class="parameter">class</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-D <replaceable class="parameter">date/offset</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-f <replaceable class="parameter">flag</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-g <replaceable class="parameter">generator</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-I <replaceable class="parameter">date/offset</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-p <replaceable class="parameter">protocol</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-R <replaceable class="parameter">date/offset</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-s <replaceable class="parameter">strength</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-t <replaceable class="parameter">type</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <arg><option>-v <replaceable class="parameter">level</replaceable></option></arg>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </cmdsynopsis>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </refsynopsisdiv>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews and RFC 4034. It can also generate keys for use with
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (Transaction Key) as defined in RFC 2930.
2f8d63983c297c62630044d28a6f66676b4d339dMark Andrews The <option>name</option> of the key is specified on the command
2f8d63983c297c62630044d28a6f66676b4d339dMark Andrews line. For DNSSEC keys, this must match the name of the zone for
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews which the key is being generated.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <variablelist>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <term>-a <replaceable class="parameter">algorithm</replaceable></term>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Selects the cryptographic algorithm. For DNSSEC keys, the value
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews DSA, NSEC3RSASHA1, or NSEC3DSA. For TSIG/TKEY, the value must
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews case insensitive.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If no algorithm is specified, then RSASHA1 will be used by
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews default, unless the <option>-3</option> option is specified,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews in which case NSEC3RSASHA1 will be used instead.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews algorithm, and DSA is recommended. For TSIG, HMAC-MD5 is
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Note 2: DH, HMAC-MD5, and HMAC-SHA1 through HMAC-SHA512
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews automatically set the -T KEY option.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <term>-b <replaceable class="parameter">keysize</replaceable></term>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Specifies the number of bits in the key. The choice of key
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews size depends on the algorithm used. RSAMD5 / RSASHA1 keys must be
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews between 512 and 2048 bits. Diffie Hellman keys must be between
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews 128 and 4096 bits. DSA keys must be between 512 and 1024
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews bits and an exact multiple of 64. HMAC-MD5 keys must be
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews between 1 and 512 bits.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews The key size does not need to be specified if using a default
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews algorithm. The default key size is 1024 bits for zone signing
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews keys (ZSK's) and 2048 bits for key signing keys (KSK's,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews generated with <option>-f KSK</option>). However, if an
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews algorithm is explicitly specified with the <option>-a</option>,
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews then there is no default key size, and the <option>-b</option>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews must be used.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <term>-n <replaceable class="parameter">nametype</replaceable></term>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Specifies the owner type of the key. The value of
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <option>nametype</option> must either be ZONE (for a DNSSEC
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews a host (KEY)),
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews USER (for a key associated with a user(KEY)) or OTHER (DNSKEY).
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews These values are case insensitive. Defaults to ZONE for DNSKEY
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Use an NSEC3-capable algorithm to generate a DNSSEC key.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If this option is used and no algorithm is explicitly
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews set on the command line, NSEC3RSASHA1 will be used by
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews Compatibility mode: generates an old-style key, without
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews any metadata. By default, <command>dnssec-keygen</command>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews will include the key's creation date in the metadata stored
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews with the private key, and other dates may be set there as well
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews (publication date, activation date, etc). Keys that include
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews this data may be incompatible with older versions of BIND; the
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <term>-c <replaceable class="parameter">class</replaceable></term>
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews Indicates that the DNS record containing the key should have
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews the specified class. If not specified, class IN is used.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <term>-E <replaceable class="parameter">engine</replaceable></term>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Uses a crypto hardware (OpenSSL engine) for random number
c115370fcb34be129ad93fd61c4a4767a214eea2Mark Andrews and, when supported, key generation. When compiled with PKCS#11
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews support it defaults to pcks11, the empty name resets it to
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If generating an RSAMD5/RSASHA1 key, use a large exponent.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews <term>-f <replaceable class="parameter">flag</replaceable></term>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Set the specified flag in the flag field of the KEY/DNSKEY record.
c115370fcb34be129ad93fd61c4a4767a214eea2Mark Andrews The only recognized flags are KSK (Key Signing Key) and REVOKE.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
c115370fcb34be129ad93fd61c4a4767a214eea2Mark Andrews Generate a key, but do not publish it or sign with it. This
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews option is incompatible with -P and -A.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews <term>-g <replaceable class="parameter">generator</replaceable></term>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews If generating a Diffie Hellman key, use this generator.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Allowed values are 2 and 5. If no generator
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews is specified, a known prime from RFC 2539 will be used
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews if possible; otherwise the default is 2.
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews </varlistentry>
4abdfc917e6635a7c81d1f931a0c79227e72d025Mark Andrews <varlistentry>
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews Prints a short summary of the options and arguments to