dnssec-keygen.html revision 5a24d24c8fba3480d707c0c902379ddb36501e12
80383d03604b92a452564592e84c2bf831077a41Automatic Updater - Copyright (C) 2004, 2005, 2007-2009 Internet Systems Consortium, Inc. ("ISC")
75c0816e8295e180f4bc7f10db3d0d880383bc1cMark Andrews - Copyright (C) 2000-2003 Internet Software Consortium.
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater - Permission to use, copy, modify, and/or distribute this software for any
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington - purpose with or without fee is hereby granted, provided that the above
0b062f4990db5cc6db2fe3398926f71b92a67407Brian Wellington - copyright notice and this permission notice appear in all copies.
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
9016767f4e15191b7c763b8a4ad36a57dc2705a2Mark Andrews - PERFORMANCE OF THIS SOFTWARE.
5a24d24c8fba3480d707c0c902379ddb36501e12Automatic Updater<!-- $Id: dnssec-keygen.html,v 1.42 2009/10/17 01:14:35 tbox Exp $ -->
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
ca67ebfe9eef0b8f04179f7e511a19e0337a5422Automatic Updater<meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
5a4557e8de2951a2796676b5ec4b6a90caa5be14Mark Andrews<a name="man.dnssec-keygen"></a><div class="titlepage"></div>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span class="application">dnssec-keygen</span> — DNSSEC key generation tool</p>
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater<div class="cmdsynopsis"><p><code class="command">dnssec-keygen</code> [<code class="option">-a <em class="replaceable"><code>algorithm</code></em></code>] [<code class="option">-b <em class="replaceable"><code>keysize</code></em></code>] [<code class="option">-n <em class="replaceable"><code>nametype</code></em></code>] [<code class="option">-3</code>] [<code class="option">-A <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-C</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-D <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>] [<code class="option">-e</code>] [<code class="option">-f <em class="replaceable"><code>flag</code></em></code>] [<code class="option">-G</code>] [<code class="option">-g <em class="replaceable"><code>generator</code></em></code>] [<code class="option">-h</code>] [<code class="option">-I <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-k</code>] [<code class="option">-P <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-p <em class="replaceable"><code>protocol</code></em></code>] [<code class="option">-R <em class="replaceable"><code>date/offset</code></em></code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>strength</code></em></code>] [<code class="option">-t <em class="replaceable"><code>type</code></em></code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {name}</p></div>
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater<a name="id2543554"></a><h2>DESCRIPTION</h2>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">dnssec-keygen</strong></span>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein generates keys for DNSSEC (Secure DNS), as defined in RFC 2535
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews and RFC 4034. It can also generate keys for use with
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater (Transaction Key) as defined in RFC 2930.
ad671240d635376dd8681550eebee799d2e3d1fdAutomatic Updater The <code class="option">name</code> of the key is specified on the command
ad671240d635376dd8681550eebee799d2e3d1fdAutomatic Updater line. For DNSSEC keys, this must match the name of the zone for
ad671240d635376dd8681550eebee799d2e3d1fdAutomatic Updater which the key is being generated.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Selects the cryptographic algorithm. For DNSSEC keys, the value
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1,
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater DSA, NSEC3RSASHA1, or NSEC3DSA. For TSIG/TKEY, the value must
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224,
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater case insensitive.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater If no algorithm is specified, then RSASHA1 will be used by
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater default, unless the <code class="option">-3</code> option is specified,
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater in which case NSEC3RSASHA1 will be used instead.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement
731cc132f22dbc9e0ecd7035dce314a61076d31bAutomatic Updater algorithm, and DSA is recommended. For TSIG, HMAC-MD5 is
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Note 2: DH, HMAC-MD5, and HMAC-SHA1 through HMAC-SHA512
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater automatically set the -T KEY option.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies the number of bits in the key. The choice of key
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein size depends on the algorithm used. RSAMD5 / RSASHA1 keys must be
b272d38cc5d24f64c0647a9afb340c21c4b9aaf7Evan Hunt between 512 and 2048 bits. Diffie Hellman keys must be between
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein 128 and 4096 bits. DSA keys must be between 512 and 1024
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein bits and an exact multiple of 64. HMAC-MD5 keys must be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein between 1 and 512 bits.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater The key size does not need to be specified if using a default
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater algorithm. The default key size is 1024 bits for zone signing
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater keys (ZSK's) and 2048 bits for key signing keys (KSK's,
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater generated with <code class="option">-f KSK</code>). However, if an
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater algorithm is explicitly specified with the <code class="option">-a</code>,
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater then there is no default key size, and the <code class="option">-b</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies the owner type of the key. The value of
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="option">nametype</code> must either be ZONE (for a DNSSEC
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a host (KEY)),
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein USER (for a key associated with a user(KEY)) or OTHER (DNSKEY).
2f8d63983c297c62630044d28a6f66676b4d339dMark Andrews These values are case insensitive. Defaults to ZONE for DNSKEY
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Use an NSEC3-capable algorithm to generate a DNSSEC key.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater If this option is used and no algorithm is explicitly
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater set on the command line, NSEC3RSASHA1 will be used by
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Compatibility mode: generates an old-style key, without
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater any metadata. By default, <span><strong class="command">dnssec-keygen</strong></span>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater will include the key's creation date in the metadata stored
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater with the private key, and other dates may be set there as well
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater (publication date, activation date, etc). Keys that include
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater this data may be incompatible with older versions of BIND; the
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater <code class="option">-C</code> option suppresses them.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Indicates that the DNS record containing the key should have
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the specified class. If not specified, class IN is used.
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater Uses a crypto hardware (OpenSSL engine) for random number
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater and, when supported, key generation. When compiled with PKCS#11
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater support it defaults to pcks11, the empty name resets it to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If generating an RSAMD5/RSASHA1 key, use a large exponent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Set the specified flag in the flag field of the KEY/DNSKEY record.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater The only recognized flags are KSK (Key Signing Key) and REVOKE.
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater Generate a key, but do not publish it or sign with it. This
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater option is incompatible with -P and -A.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-g <em class="replaceable"><code>generator</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein If generating a Diffie Hellman key, use this generator.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Allowed values are 2 and 5. If no generator
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is specified, a known prime from RFC 2539 will be used
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein if possible; otherwise the default is 2.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Prints a short summary of the options and arguments to
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <span><strong class="command">dnssec-keygen</strong></span>.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Sets the directory in which the key files are to be written.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Deprecated in favor of -T KEY.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Sets the protocol value for the generated key. The protocol
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is a number between 0 and 255. The default is 3 (DNSSEC).
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Other possible values for this argument are listed in
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein RFC 2535 and its successors.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies the source of randomness. If the operating
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein system does not provide a <code class="filename">/dev/random</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein or equivalent device, the default source of randomness
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is keyboard input. <code class="filename">randomdev</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the name of a character device or file containing random
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein data to be used instead of the default. The special value
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">keyboard</code> indicates that keyboard
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein input should be used.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-s <em class="replaceable"><code>strength</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Specifies the strength value of the key. The strength is
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein a number between 0 and 15, and currently has no defined
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein purpose in DNSSEC.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater<dt><span class="term">-T <em class="replaceable"><code>rrtype</code></em></span></dt>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Specifies the resource record type to use for the key.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater <code class="option">rrtype</code> must be either DNSKEY or KEY. The
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater default is DNSKEY when using a DNSSEC algorithm, but it can be
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater overridden to KEY for use with SIG(0).
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Using any TSIG algorithm (HMAC-* or DH) forces this option
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Indicates the use of the key. <code class="option">type</code> must be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein is AUTHCONF. AUTH refers to the ability to authenticate
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein data, and CONF the ability to encrypt data.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Sets the debugging level.
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater<a name="id2544101"></a><h2>TIMING OPTIONS</h2>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater If the argument begins with a '+' or '-', it is interpreted as
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater an offset from the present time. For convenience, if such an offset
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi',
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater then the offset is computed in years (defined as 365 24-hour days,
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater ignoring leap years), months (defined as 30 24-hour days), weeks,
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater days, hours, or minutes, respectively. Without a suffix, the offset
2895f101b5585a19015ac2c2c1e1812ac467fa12Automatic Updater is computed in seconds.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater<dt><span class="term">-P <em class="replaceable"><code>date/offset</code></em></span></dt>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Sets the date on which a key is to be published to the zone.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater After that date, the key will be included in the zone but will
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater not be used to sign it. If not set, and if the -G option has
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater not been used, the default is "now".
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Sets the date on which the key is to be activated. After that
5a24d24c8fba3480d707c0c902379ddb36501e12Automatic Updater date, the key will be included in the zone and used to sign
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater it. If not set, and if the -G option has not been used, the
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater default is "now".
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Sets the date on which the key is to be revoked. After that
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater date, the key will be flagged as revoked. It will be included
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater in the zone and will be used to sign it.
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater<dt><span class="term">-I <em class="replaceable"><code>date/offset</code></em></span></dt>
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater Sets the date on which the key is to be retired. After that
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater date, the key will still be included in the zone, but it
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater will not be used to sign it.
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater<dt><span class="term">-D <em class="replaceable"><code>date/offset</code></em></span></dt>
0a7ed88633a680bb881868b75ded4d09a7bbbc50Automatic Updater Sets the date on which the key is to be deleted. After that
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater date, the key will no longer be included in the zone. (It
f8e3e03cacd16ffb923a9603fca23a9e1a1fee07Automatic Updater may remain in the key repository, however.)
8ec3c085233cedb22b05da36e2773c8f357a7e45Automatic Updater<a name="id2544199"></a><h2>GENERATED KEYS</h2>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein When <span><strong class="command">dnssec-keygen</strong></span> completes
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein successfully,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein it prints a string of the form <code class="filename">Knnnn.+aaa+iiiii</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein to the standard output. This is an identification string for
90153b6536f7a5078e1c157c980110dbcd7fe205Mark Andrews the key it has generated.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<li><p><code class="filename">nnnn</code> is the key name.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<li><p><code class="filename">aaa</code> is the numeric representation
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<li><p><code class="filename">iiiii</code> is the key identifier (or
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span><strong class="command">dnssec-keygen</strong></span>
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews creates two files, with names based
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein on the printed string. <code class="filename">Knnnn.+aaa+iiiii.key</code>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein contains the public key, and
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <code class="filename">Knnnn.+aaa+iiiii.private</code> contains the
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The <code class="filename">.key</code> file contains a DNS KEY record
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein can be inserted into a zone file (directly or with a $INCLUDE
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews The <code class="filename">.private</code> file contains
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews algorithm-specific
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein fields. For obvious security reasons, this file does not have
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein general read permission.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein Both <code class="filename">.key</code> and <code class="filename">.private</code>
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews files are generated for symmetric encryption algorithms such as
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein HMAC-MD5, even though the public and private key are equivalent.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein To generate a 768-bit DSA key for the domain
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <strong class="userinput"><code>example.com</code></strong>, the following command would be
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><strong class="userinput"><code>dnssec-keygen -a DSA -b 768 -n ZONE example.com</code></strong>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein The command would print a string of the form:
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><strong class="userinput"><code>Kexample.com.+003+26160</code></strong>
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein In this example, <span><strong class="command">dnssec-keygen</strong></span> creates
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein the files <code class="filename">Kexample.com.+003+26160.key</code>
d71e2e0c61df16ff37c9934c371a4a60c08974f7Mark Andrews <code class="filename">Kexample.com.+003+26160.private</code>.
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
60e5e10f8d2e2b0c41e8abad38cacd867caa6ab2Rob Austein<p><span class="corpauthor">Internet Systems Consortium</span>