Blame bin/dnssec/dnssec-keygen.docbook

Packit 5ce601
Packit 5ce601
 - Copyright (C) Internet Systems Consortium, Inc. ("ISC")
Packit 5ce601
 -
Packit 5ce601
 - This Source Code Form is subject to the terms of the Mozilla Public
Packit 5ce601
 - License, v. 2.0. If a copy of the MPL was not distributed with this
Packit Service 704ed8
 - file, you can obtain one at https://mozilla.org/MPL/2.0/.
Packit 5ce601
 -
Packit 5ce601
 - See the COPYRIGHT file distributed with this work for additional
Packit 5ce601
 - information regarding copyright ownership.
Packit 5ce601
-->
Packit 5ce601
Packit 5ce601
Packit Service d3afd5
<refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xml:id="man.dnssec-keygen">
Packit 5ce601
  <info>
Packit 5ce601
    <date>2014-02-06</date>
Packit 5ce601
  </info>
Packit 5ce601
  <refentryinfo>
Packit 5ce601
    <date>August 21, 2015</date>
Packit 5ce601
    <corpname>ISC</corpname>
Packit 5ce601
    <corpauthor>Internet Systems Consortium, Inc.</corpauthor>
Packit 5ce601
  </refentryinfo>
Packit 5ce601
Packit 5ce601
  <refmeta>
Packit 5ce601
    <refentrytitle><application>dnssec-keygen</application></refentrytitle>
Packit 5ce601
    <manvolnum>8</manvolnum>
Packit Service d3afd5
    <refmiscinfo>BIND9</refmiscinfo>
Packit 5ce601
  </refmeta>
Packit 5ce601
Packit 5ce601
  <refnamediv>
Packit 5ce601
    <refname><application>dnssec-keygen</application></refname>
Packit 5ce601
    <refpurpose>DNSSEC key generation tool</refpurpose>
Packit 5ce601
  </refnamediv>
Packit 5ce601
Packit 5ce601
  <docinfo>
Packit 5ce601
    <copyright>
Packit 5ce601
      <year>2000</year>
Packit 5ce601
      <year>2001</year>
Packit 5ce601
      <year>2002</year>
Packit 5ce601
      <year>2003</year>
Packit 5ce601
      <year>2004</year>
Packit 5ce601
      <year>2005</year>
Packit 5ce601
      <year>2007</year>
Packit 5ce601
      <year>2008</year>
Packit 5ce601
      <year>2009</year>
Packit 5ce601
      <year>2010</year>
Packit 5ce601
      <year>2011</year>
Packit 5ce601
      <year>2012</year>
Packit 5ce601
      <year>2014</year>
Packit 5ce601
      <year>2015</year>
Packit 5ce601
      <year>2016</year>
Packit 5ce601
      <year>2017</year>
Packit 5ce601
      <year>2018</year>
Packit 5ce601
      <year>2019</year>
Packit 5ce601
      <year>2020</year>
Packit 5ce601
      <holder>Internet Systems Consortium, Inc. ("ISC")</holder>
Packit 5ce601
    </copyright>
Packit 5ce601
  </docinfo>
Packit 5ce601
Packit 5ce601
  <refsynopsisdiv>
Packit 5ce601
    <cmdsynopsis sepchar=" ">
Packit 5ce601
      <command>dnssec-keygen</command>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-3</option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-A <replaceable class="parameter">date/offset</replaceable></option></arg>
Packit 5ce601
      <arg rep="norepeat"><option>-a <replaceable class="parameter">algorithm</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-b <replaceable class="parameter">keysize</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-C</option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-c <replaceable class="parameter">class</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-D <replaceable class="parameter">date/offset</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-D sync <replaceable class="parameter">date/offset</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-E <replaceable class="parameter">engine</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-f <replaceable class="parameter">flag</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-G</option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-g <replaceable class="parameter">generator</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-h</option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-I <replaceable class="parameter">date/offset</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-i <replaceable class="parameter">interval</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-K <replaceable class="parameter">directory</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-k</option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-L <replaceable class="parameter">ttl</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-n <replaceable class="parameter">nametype</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-P <replaceable class="parameter">date/offset</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-P sync <replaceable class="parameter">date/offset</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-p <replaceable class="parameter">protocol</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-q</option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-R <replaceable class="parameter">date/offset</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-r <replaceable class="parameter">randomdev</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-S <replaceable class="parameter">key</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-s <replaceable class="parameter">strength</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-t <replaceable class="parameter">type</replaceable></option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-V</option></arg>
Packit 5ce601
      <arg choice="opt" rep="norepeat"><option>-v <replaceable class="parameter">level</replaceable></option></arg>
Packit 5ce601
      <arg choice="req" rep="norepeat">name</arg>
Packit 5ce601
    </cmdsynopsis>
Packit 5ce601
  </refsynopsisdiv>
Packit 5ce601
Packit 5ce601
  <refsection><info><title>DESCRIPTION</title></info>
Packit 5ce601
Packit 5ce601
    <para><command>dnssec-keygen</command>
Packit 5ce601
      generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
Packit 5ce601
      and RFC 4034.  It can also generate keys for use with
Packit 5ce601
      TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY
Packit 5ce601
      (Transaction Key) as defined in RFC 2930.
Packit 5ce601
    </para>
Packit 5ce601
    <para>
Packit 5ce601
      The <option>name</option> of the key is specified on the command
Packit 5ce601
      line.  For DNSSEC keys, this must match the name of the zone for
Packit 5ce601
      which the key is being generated.
Packit 5ce601
    </para>
Packit 5ce601
  </refsection>
Packit 5ce601
Packit 5ce601
  <refsection><info><title>OPTIONS</title></info>
Packit 5ce601
Packit 5ce601
Packit 5ce601
    <variablelist>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-3</term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Use an NSEC3-capable algorithm to generate a DNSSEC key.
Packit 5ce601
	    If this option is used with an algorithm that has both
Packit 5ce601
	    NSEC and NSEC3 versions, then the NSEC3 version will be
Packit 5ce601
	    used; for example, <command>dnssec-keygen -3a RSASHA1</command>
Packit 5ce601
	    specifies the NSEC3RSASHA1 algorithm.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-a <replaceable class="parameter">algorithm</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Selects the cryptographic algorithm.  For DNSSEC keys, the value
Packit 5ce601
	    of <option>algorithm</option> must be one of RSAMD5, RSASHA1,
Packit 5ce601
	    DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST,
Packit 5ce601
	    ECDSAP256SHA256, ECDSAP384SHA384, ED25519 or ED448.
Packit 5ce601
	    For TSIG/TKEY, the value must
Packit 5ce601
	    be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
Packit 5ce601
	    HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512.  These values are
Packit 5ce601
	    case insensitive.
Packit 5ce601
	  </para>
Packit 5ce601
	  <para>
Packit 5ce601
	    If no algorithm is specified, then RSASHA1 will be used by
Packit 5ce601
	    default, unless the <option>-3</option> option is specified,
Packit 5ce601
	    in which case NSEC3RSASHA1 will be used instead.  (If
Packit 5ce601
	    <option>-3</option> is used and an algorithm is specified,
Packit 5ce601
	    that algorithm will be checked for compatibility with NSEC3.)
Packit 5ce601
	  </para>
Packit 5ce601
	  <para>
Packit 5ce601
	    Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
Packit 5ce601
	    algorithm, and DSA is recommended.  For TSIG, HMAC-MD5 is
Packit 5ce601
	    mandatory.
Packit 5ce601
	  </para>
Packit 5ce601
	  <para>
Packit 5ce601
	    Note 2: DH, HMAC-MD5, and HMAC-SHA1 through HMAC-SHA512
Packit 5ce601
	    automatically set the -T KEY option.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-b <replaceable class="parameter">keysize</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Specifies the number of bits in the key.  The choice of key
Packit 5ce601
	    size depends on the algorithm used.  RSA keys must be
Packit 5ce601
	    between 512 and 2048 bits.  Diffie Hellman keys must be between
Packit 5ce601
	    128 and 4096 bits.  DSA keys must be between 512 and 1024
Packit 5ce601
	    bits and an exact multiple of 64.  HMAC keys must be
Packit 5ce601
	    between 1 and 512 bits. Elliptic curve algorithms don't need
Packit 5ce601
	    this parameter.
Packit 5ce601
	  </para>
Packit 5ce601
	  <para>
Packit 5ce601
	    The key size does not need to be specified if using a default
Packit 5ce601
	    algorithm.  The default key size is 1024 bits for zone signing
Packit 5ce601
	    keys (ZSKs) and 2048 bits for key signing keys (KSKs,
Packit 5ce601
	    generated with <option>-f KSK</option>).  However, if an
Packit 5ce601
	    algorithm is explicitly specified with the <option>-a</option>,
Packit 5ce601
	    then there is no default key size, and the <option>-b</option>
Packit 5ce601
	    must be used.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-C</term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Compatibility mode: generates an old-style key, without any
Packit 5ce601
	    timing metadata. By default, <command>dnssec-keygen</command>
Packit 5ce601
	    will include the key's creation date in the metadata stored with
Packit 5ce601
	    the private key, and other dates may be set there as well
Packit 5ce601
	    (publication date, activation date, etc). Keys that include this
Packit 5ce601
	    data may be incompatible with older versions of BIND; the
Packit 5ce601
	    <option>-C</option> option suppresses them.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-c <replaceable class="parameter">class</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Indicates that the DNS record containing the key should have
Packit 5ce601
	    the specified class.  If not specified, class IN is used.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-E <replaceable class="parameter">engine</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Specifies the cryptographic hardware to use, when applicable.
Packit 5ce601
	  </para>
Packit 5ce601
	  <para>
Packit 5ce601
	    When BIND is built with OpenSSL PKCS#11 support, this defaults
Packit 5ce601
	    to the string "pkcs11", which identifies an OpenSSL engine
Packit 5ce601
	    that can drive a cryptographic accelerator or hardware service
Packit 5ce601
	    module.  When BIND is built with native PKCS#11 cryptography
Packit 5ce601
	    (--enable-native-pkcs11), it defaults to the path of the PKCS#11
Packit 5ce601
	    provider library specified via "--with-pkcs11".
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-f <replaceable class="parameter">flag</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Set the specified flag in the flag field of the KEY/DNSKEY record.
Packit 5ce601
	    The only recognized flags are KSK (Key Signing Key) and REVOKE.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-G</term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Generate a key, but do not publish it or sign with it.  This
Packit 5ce601
	    option is incompatible with -P and -A.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-g <replaceable class="parameter">generator</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    If generating a Diffie Hellman key, use this generator.
Packit 5ce601
	    Allowed values are 2 and 5.  If no generator
Packit 5ce601
	    is specified, a known prime from RFC 2539 will be used
Packit 5ce601
	    if possible; otherwise the default is 2.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-h</term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Prints a short summary of the options and arguments to
Packit 5ce601
	    <command>dnssec-keygen</command>.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-K <replaceable class="parameter">directory</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the directory in which the key files are to be written.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-k</term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Deprecated in favor of -T KEY.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-L <replaceable class="parameter">ttl</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the default TTL to use for this key when it is converted
Packit 5ce601
	    into a DNSKEY RR.  If the key is imported into a zone,
Packit 5ce601
	    this is the TTL that will be used for it, unless there was
Packit 5ce601
	    already a DNSKEY RRset in place, in which case the existing TTL
Packit 5ce601
	    would take precedence.  If this value is not set and there
Packit 5ce601
	    is no existing DNSKEY RRset, the TTL will default to the
Packit 5ce601
	    SOA TTL. Setting the default TTL to <literal>0</literal>
Packit 5ce601
	    or <literal>none</literal> is the same as leaving it unset.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-n <replaceable class="parameter">nametype</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Specifies the owner type of the key.  The value of
Packit 5ce601
	    <option>nametype</option> must either be ZONE (for a DNSSEC
Packit 5ce601
	    zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated
Packit 5ce601
	    with a host (KEY)), USER (for a key associated with a
Packit 5ce601
	    user(KEY)) or OTHER (DNSKEY).  These values are case
Packit 5ce601
	    insensitive.  Defaults to ZONE for DNSKEY generation.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-p <replaceable class="parameter">protocol</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the protocol value for the generated key, for use
Packit 5ce601
	    with <option>-T KEY</option>. The protocol is a number between 0
Packit 5ce601
	    and 255. The default is 3 (DNSSEC). Other possible values for
Packit 5ce601
	    this argument are listed in RFC 2535 and its successors.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-q</term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Quiet mode: Suppresses unnecessary output, including
Packit 5ce601
	    progress indication.  Without this option, when
Packit 5ce601
	    <command>dnssec-keygen</command> is run interactively
Packit 5ce601
	    to generate an RSA or DSA key pair, it will print a string
Packit 5ce601
	    of symbols to <filename>stderr</filename> indicating the
Packit 5ce601
	    progress of the key generation.  A '.' indicates that a
Packit 5ce601
	    random number has been found which passed an initial
Packit 5ce601
	    sieve test; '+' means a number has passed a single
Packit 5ce601
	    round of the Miller-Rabin primality test; a space
Packit 5ce601
	    means that the number has passed all the tests and is
Packit 5ce601
	    a satisfactory key.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-r <replaceable class="parameter">randomdev</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit Service d3afd5
	    Specifies the source of randomness.  If the operating
Packit Service d3afd5
	    system does not provide a <filename>/dev/random</filename>
Packit Service d3afd5
	    or equivalent device, the default source of randomness
Packit Service d3afd5
	    is keyboard input.  <filename>randomdev</filename>
Packit Service d3afd5
	    specifies
Packit 5ce601
	    the name of a character device or file containing random
Packit Service d3afd5
	    data to be used instead of the default.  The special value
Packit Service d3afd5
	    <filename>keyboard</filename> indicates that keyboard
Packit Service d3afd5
	    input should be used.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-S <replaceable class="parameter">key</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Create a new key which is an explicit successor to an
Packit 5ce601
	    existing key.  The name, algorithm, size, and type of the
Packit 5ce601
	    key will be set to match the existing key.  The activation
Packit 5ce601
	    date of the new key will be set to the inactivation date of
Packit 5ce601
	    the existing one.  The publication date will be set to the
Packit 5ce601
	    activation date minus the prepublication interval, which
Packit 5ce601
	    defaults to 30 days.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-s <replaceable class="parameter">strength</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Specifies the strength value of the key.  The strength is
Packit 5ce601
	    a number between 0 and 15, and currently has no defined
Packit 5ce601
	    purpose in DNSSEC.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-T <replaceable class="parameter">rrtype</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Specifies the resource record type to use for the key.
Packit 5ce601
	    <option>rrtype</option> must be either DNSKEY or KEY.  The
Packit 5ce601
	    default is DNSKEY when using a DNSSEC algorithm, but it can be
Packit 5ce601
	    overridden to KEY for use with SIG(0).
Packit 5ce601
	  <para>
Packit 5ce601
	  </para>
Packit 5ce601
	    Using any TSIG algorithm (HMAC-* or DH) forces this option
Packit 5ce601
	    to KEY.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-t <replaceable class="parameter">type</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Indicates the use of the key, for use with <option>-T
Packit 5ce601
	    KEY</option>. <option>type</option> must be one of AUTHCONF,
Packit 5ce601
	    NOAUTHCONF, NOAUTH, or NOCONF. The default is AUTHCONF. AUTH
Packit 5ce601
	    refers to the ability to authenticate data, and CONF the ability
Packit 5ce601
	    to encrypt data.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-V</term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Prints version information.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-v <replaceable class="parameter">level</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the debugging level.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
    </variablelist>
Packit 5ce601
  </refsection>
Packit 5ce601
Packit 5ce601
  <refsection><info><title>TIMING OPTIONS</title></info>
Packit 5ce601
Packit 5ce601
Packit 5ce601
    <para>
Packit 5ce601
      Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
Packit 5ce601
      If the argument begins with a '+' or '-', it is interpreted as
Packit 5ce601
      an offset from the present time.  For convenience, if such an offset
Packit 5ce601
      is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi',
Packit 5ce601
      then the offset is computed in years (defined as 365 24-hour days,
Packit 5ce601
      ignoring leap years), months (defined as 30 24-hour days), weeks,
Packit 5ce601
      days, hours, or minutes, respectively.  Without a suffix, the offset
Packit 5ce601
      is computed in seconds.  To explicitly prevent a date from being
Packit 5ce601
      set, use 'none' or 'never'.
Packit 5ce601
    </para>
Packit 5ce601
Packit 5ce601
    <variablelist>
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-P <replaceable class="parameter">date/offset</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the date on which a key is to be published to the zone.
Packit 5ce601
	    After that date, the key will be included in the zone but will
Packit 5ce601
	    not be used to sign it.  If not set, and if the -G option has
Packit 5ce601
	    not been used, the default is "now".
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-P sync <replaceable class="parameter">date/offset</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the date on which CDS and CDNSKEY records that match this
Packit 5ce601
	    key are to be published to the zone.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-A <replaceable class="parameter">date/offset</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the date on which the key is to be activated.  After that
Packit 5ce601
	    date, the key will be included in the zone and used to sign
Packit 5ce601
	    it.  If not set, and if the -G option has not been used, the
Packit 5ce601
	    default is "now".  If set, if and -P is not set, then
Packit 5ce601
	    the publication date will be set to the activation date
Packit 5ce601
	    minus the prepublication interval.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-R <replaceable class="parameter">date/offset</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the date on which the key is to be revoked.  After that
Packit 5ce601
	    date, the key will be flagged as revoked.  It will be included
Packit 5ce601
	    in the zone and will be used to sign it.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-I <replaceable class="parameter">date/offset</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the date on which the key is to be retired.  After that
Packit 5ce601
	    date, the key will still be included in the zone, but it
Packit 5ce601
	    will not be used to sign it.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-D <replaceable class="parameter">date/offset</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the date on which the key is to be deleted.  After that
Packit 5ce601
	    date, the key will no longer be included in the zone.  (It
Packit 5ce601
	    may remain in the key repository, however.)
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
	<term>-D sync <replaceable class="parameter">date/offset</replaceable></term>
Packit 5ce601
	<listitem>
Packit 5ce601
	  <para>
Packit 5ce601
	    Sets the date on which the CDS and CDNSKEY records that match this
Packit 5ce601
	    key are to be deleted.
Packit 5ce601
	  </para>
Packit 5ce601
	</listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
      <varlistentry>
Packit 5ce601
        <term>-i <replaceable class="parameter">interval</replaceable></term>
Packit 5ce601
        <listitem>
Packit 5ce601
          <para>
Packit 5ce601
            Sets the prepublication interval for a key.  If set, then
Packit 5ce601
            the publication and activation dates must be separated by at least
Packit 5ce601
            this much time.  If the activation date is specified but the
Packit 5ce601
            publication date isn't, then the publication date will default
Packit 5ce601
            to this much time before the activation date; conversely, if
Packit 5ce601
            the publication date is specified but activation date isn't,
Packit 5ce601
            then activation will be set to this much time after publication.
Packit 5ce601
          </para>
Packit 5ce601
          <para>
Packit 5ce601
            If the key is being created as an explicit successor to another
Packit 5ce601
            key, then the default prepublication interval is 30 days;
Packit 5ce601
            otherwise it is zero.
Packit 5ce601
          </para>
Packit 5ce601
          <para>
Packit 5ce601
            As with date offsets, if the argument is followed by one of
Packit 5ce601
            the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the
Packit 5ce601
            interval is measured in years, months, weeks, days, hours,
Packit 5ce601
            or minutes, respectively.  Without a suffix, the interval is
Packit 5ce601
            measured in seconds.
Packit 5ce601
          </para>
Packit 5ce601
        </listitem>
Packit 5ce601
      </varlistentry>
Packit 5ce601
Packit 5ce601
    </variablelist>
Packit 5ce601
  </refsection>
Packit 5ce601
Packit 5ce601
Packit 5ce601
  <refsection><info><title>GENERATED KEYS</title></info>
Packit 5ce601
Packit 5ce601
    <para>
Packit 5ce601
      When <command>dnssec-keygen</command> completes
Packit 5ce601
      successfully,
Packit 5ce601
      it prints a string of the form <filename>Knnnn.+aaa+iiiii</filename>
Packit 5ce601
      to the standard output.  This is an identification string for
Packit 5ce601
      the key it has generated.
Packit 5ce601
    </para>
Packit 5ce601
    <itemizedlist>
Packit 5ce601
      <listitem>
Packit 5ce601
	<para><filename>nnnn</filename> is the key name.
Packit 5ce601
	</para>
Packit 5ce601
      </listitem>
Packit 5ce601
      <listitem>
Packit 5ce601
	<para><filename>aaa</filename> is the numeric representation
Packit 5ce601
	  of the
Packit 5ce601
	  algorithm.
Packit 5ce601
	</para>
Packit 5ce601
      </listitem>
Packit 5ce601
      <listitem>
Packit 5ce601
	<para><filename>iiiii</filename> is the key identifier (or
Packit 5ce601
	  footprint).
Packit 5ce601
	</para>
Packit 5ce601
      </listitem>
Packit 5ce601
    </itemizedlist>
Packit 5ce601
    <para><command>dnssec-keygen</command>
Packit 5ce601
      creates two files, with names based
Packit 5ce601
      on the printed string.  <filename>Knnnn.+aaa+iiiii.key</filename>
Packit 5ce601
      contains the public key, and
Packit 5ce601
      <filename>Knnnn.+aaa+iiiii.private</filename> contains the
Packit 5ce601
      private
Packit 5ce601
      key.
Packit 5ce601
    </para>
Packit 5ce601
    <para>
Packit 5ce601
      The <filename>.key</filename> file contains a DNS KEY record
Packit 5ce601
      that
Packit 5ce601
      can be inserted into a zone file (directly or with a $INCLUDE
Packit 5ce601
      statement).
Packit 5ce601
    </para>
Packit 5ce601
    <para>
Packit 5ce601
      The <filename>.private</filename> file contains
Packit 5ce601
      algorithm-specific
Packit 5ce601
      fields.  For obvious security reasons, this file does not have
Packit 5ce601
      general read permission.
Packit 5ce601
    </para>
Packit 5ce601
    <para>
Packit 5ce601
      Both <filename>.key</filename> and <filename>.private</filename>
Packit 5ce601
      files are generated for symmetric cryptography algorithms such as
Packit 5ce601
      HMAC-MD5, even though the public and private key are equivalent.
Packit 5ce601
    </para>
Packit 5ce601
  </refsection>
Packit 5ce601
Packit 5ce601
  <refsection><info><title>EXAMPLE</title></info>
Packit 5ce601
Packit 5ce601
    <para>
Packit 5ce601
      To generate a 768-bit DSA key for the domain
Packit 5ce601
      <userinput>example.com</userinput>, the following command would be
Packit 5ce601
      issued:
Packit 5ce601
    </para>
Packit 5ce601
    <para><userinput>dnssec-keygen -a DSA -b 768 -n ZONE example.com</userinput>
Packit 5ce601
    </para>
Packit 5ce601
    <para>
Packit 5ce601
      The command would print a string of the form:
Packit 5ce601
    </para>
Packit 5ce601
    <para><userinput>Kexample.com.+003+26160</userinput>
Packit 5ce601
    </para>
Packit 5ce601
    <para>
Packit 5ce601
      In this example, <command>dnssec-keygen</command> creates
Packit 5ce601
      the files <filename>Kexample.com.+003+26160.key</filename>
Packit 5ce601
      and
Packit 5ce601
      <filename>Kexample.com.+003+26160.private</filename>.
Packit 5ce601
    </para>
Packit 5ce601
    <para>
Packit 5ce601
      To generate a matching key-signing key, issue the command:
Packit 5ce601
    </para>
Packit 5ce601
    <para>
Packit 5ce601
      <userinput>dnssec-keygen -a DSA -b 768 -n ZONE -f KSK example.com</userinput>
Packit 5ce601
    </para>
Packit 5ce601
  </refsection>
Packit 5ce601
Packit 5ce601
  <refsection><info><title>SEE ALSO</title></info>
Packit 5ce601
Packit 5ce601
    <para><citerefentry>
Packit 5ce601
	<refentrytitle>dnssec-signzone</refentrytitle><manvolnum>8</manvolnum>
Packit 5ce601
      </citerefentry>,
Packit 5ce601
      <citetitle>BIND 9 Administrator Reference Manual</citetitle>,
Packit 5ce601
      <citetitle>RFC 2539</citetitle>,
Packit 5ce601
      <citetitle>RFC 2845</citetitle>,
Packit 5ce601
      <citetitle>RFC 4034</citetitle>.
Packit 5ce601
    </para>
Packit 5ce601
  </refsection>
Packit 5ce601
Packit 5ce601
</refentry>