1*00b67f09SDavid van Moolenbroek<!-- 2*00b67f09SDavid van Moolenbroek - Copyright (C) 2004-2015 Internet Systems Consortium, Inc. ("ISC") 3*00b67f09SDavid van Moolenbroek - Copyright (C) 2000-2003 Internet Software Consortium. 4*00b67f09SDavid van Moolenbroek - 5*00b67f09SDavid van Moolenbroek - Permission to use, copy, modify, and/or distribute this software for any 6*00b67f09SDavid van Moolenbroek - purpose with or without fee is hereby granted, provided that the above 7*00b67f09SDavid van Moolenbroek - copyright notice and this permission notice appear in all copies. 8*00b67f09SDavid van Moolenbroek - 9*00b67f09SDavid van Moolenbroek - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 10*00b67f09SDavid van Moolenbroek - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11*00b67f09SDavid van Moolenbroek - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 12*00b67f09SDavid van Moolenbroek - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13*00b67f09SDavid van Moolenbroek - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 14*00b67f09SDavid van Moolenbroek - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15*00b67f09SDavid van Moolenbroek - PERFORMANCE OF THIS SOFTWARE. 16*00b67f09SDavid van Moolenbroek--> 17*00b67f09SDavid van Moolenbroek<!-- $Id: man.dnssec-keygen.html,v 1.5 2015/09/03 07:33:34 christos Exp $ --> 18*00b67f09SDavid van Moolenbroek<html> 19*00b67f09SDavid van Moolenbroek<head> 20*00b67f09SDavid van Moolenbroek<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 21*00b67f09SDavid van Moolenbroek<title>dnssec-keygen</title> 22*00b67f09SDavid van Moolenbroek<meta name="generator" content="DocBook XSL Stylesheets V1.71.1"> 23*00b67f09SDavid van Moolenbroek<link rel="start" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual"> 24*00b67f09SDavid van Moolenbroek<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages"> 25*00b67f09SDavid van Moolenbroek<link rel="prev" href="man.dnssec-keyfromlabel.html" title="dnssec-keyfromlabel"> 26*00b67f09SDavid van Moolenbroek<link rel="next" href="man.dnssec-revoke.html" title="dnssec-revoke"> 27*00b67f09SDavid van Moolenbroek</head> 28*00b67f09SDavid van Moolenbroek<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 29*00b67f09SDavid van Moolenbroek<div class="navheader"> 30*00b67f09SDavid van Moolenbroek<table width="100%" summary="Navigation header"> 31*00b67f09SDavid van Moolenbroek<tr><th colspan="3" align="center"><span class="application">dnssec-keygen</span></th></tr> 32*00b67f09SDavid van Moolenbroek<tr> 33*00b67f09SDavid van Moolenbroek<td width="20%" align="left"> 34*00b67f09SDavid van Moolenbroek<a accesskey="p" href="man.dnssec-keyfromlabel.html">Prev</a>�</td> 35*00b67f09SDavid van Moolenbroek<th width="60%" align="center">Manual pages</th> 36*00b67f09SDavid van Moolenbroek<td width="20%" align="right">�<a accesskey="n" href="man.dnssec-revoke.html">Next</a> 37*00b67f09SDavid van Moolenbroek</td> 38*00b67f09SDavid van Moolenbroek</tr> 39*00b67f09SDavid van Moolenbroek</table> 40*00b67f09SDavid van Moolenbroek<hr> 41*00b67f09SDavid van Moolenbroek</div> 42*00b67f09SDavid van Moolenbroek<div class="refentry" lang="en"> 43*00b67f09SDavid van Moolenbroek<a name="man.dnssec-keygen"></a><div class="titlepage"></div> 44*00b67f09SDavid van Moolenbroek<div class="refnamediv"> 45*00b67f09SDavid van Moolenbroek<h2>Name</h2> 46*00b67f09SDavid van Moolenbroek<p><span class="application">dnssec-keygen</span> — DNSSEC key generation tool</p> 47*00b67f09SDavid van Moolenbroek</div> 48*00b67f09SDavid van Moolenbroek<div class="refsynopsisdiv"> 49*00b67f09SDavid van Moolenbroek<h2>Synopsis</h2> 50*00b67f09SDavid van Moolenbroek<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">-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">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-L <em class="replaceable"><code>ttl</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">-q</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>key</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">-V</code>] [<code class="option">-z</code>] {name}</p></div> 51*00b67f09SDavid van Moolenbroek</div> 52*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 53*00b67f09SDavid van Moolenbroek<a name="id2622369"></a><h2>DESCRIPTION</h2> 54*00b67f09SDavid van Moolenbroek<p><span><strong class="command">dnssec-keygen</strong></span> 55*00b67f09SDavid van Moolenbroek generates keys for DNSSEC (Secure DNS), as defined in RFC 2535 56*00b67f09SDavid van Moolenbroek and RFC 4034. It can also generate keys for use with 57*00b67f09SDavid van Moolenbroek TSIG (Transaction Signatures) as defined in RFC 2845, or TKEY 58*00b67f09SDavid van Moolenbroek (Transaction Key) as defined in RFC 2930. 59*00b67f09SDavid van Moolenbroek </p> 60*00b67f09SDavid van Moolenbroek<p> 61*00b67f09SDavid van Moolenbroek The <code class="option">name</code> of the key is specified on the command 62*00b67f09SDavid van Moolenbroek line. For DNSSEC keys, this must match the name of the zone for 63*00b67f09SDavid van Moolenbroek which the key is being generated. 64*00b67f09SDavid van Moolenbroek </p> 65*00b67f09SDavid van Moolenbroek</div> 66*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 67*00b67f09SDavid van Moolenbroek<a name="id2622389"></a><h2>OPTIONS</h2> 68*00b67f09SDavid van Moolenbroek<div class="variablelist"><dl> 69*00b67f09SDavid van Moolenbroek<dt><span class="term">-a <em class="replaceable"><code>algorithm</code></em></span></dt> 70*00b67f09SDavid van Moolenbroek<dd> 71*00b67f09SDavid van Moolenbroek<p> 72*00b67f09SDavid van Moolenbroek Selects the cryptographic algorithm. For DNSSEC keys, the value 73*00b67f09SDavid van Moolenbroek of <code class="option">algorithm</code> must be one of RSAMD5, RSASHA1, 74*00b67f09SDavid van Moolenbroek DSA, NSEC3RSASHA1, NSEC3DSA, RSASHA256, RSASHA512, ECCGOST, 75*00b67f09SDavid van Moolenbroek ECDSAP256SHA256 or ECDSAP384SHA384. 76*00b67f09SDavid van Moolenbroek For TSIG/TKEY, the value must 77*00b67f09SDavid van Moolenbroek be DH (Diffie Hellman), HMAC-MD5, HMAC-SHA1, HMAC-SHA224, 78*00b67f09SDavid van Moolenbroek HMAC-SHA256, HMAC-SHA384, or HMAC-SHA512. These values are 79*00b67f09SDavid van Moolenbroek case insensitive. 80*00b67f09SDavid van Moolenbroek </p> 81*00b67f09SDavid van Moolenbroek<p> 82*00b67f09SDavid van Moolenbroek If no algorithm is specified, then RSASHA1 will be used by 83*00b67f09SDavid van Moolenbroek default, unless the <code class="option">-3</code> option is specified, 84*00b67f09SDavid van Moolenbroek in which case NSEC3RSASHA1 will be used instead. (If 85*00b67f09SDavid van Moolenbroek <code class="option">-3</code> is used and an algorithm is specified, 86*00b67f09SDavid van Moolenbroek that algorithm will be checked for compatibility with NSEC3.) 87*00b67f09SDavid van Moolenbroek </p> 88*00b67f09SDavid van Moolenbroek<p> 89*00b67f09SDavid van Moolenbroek Note 1: that for DNSSEC, RSASHA1 is a mandatory to implement 90*00b67f09SDavid van Moolenbroek algorithm, and DSA is recommended. For TSIG, HMAC-MD5 is 91*00b67f09SDavid van Moolenbroek mandatory. 92*00b67f09SDavid van Moolenbroek </p> 93*00b67f09SDavid van Moolenbroek<p> 94*00b67f09SDavid van Moolenbroek Note 2: DH, HMAC-MD5, and HMAC-SHA1 through HMAC-SHA512 95*00b67f09SDavid van Moolenbroek automatically set the -T KEY option. 96*00b67f09SDavid van Moolenbroek </p> 97*00b67f09SDavid van Moolenbroek</dd> 98*00b67f09SDavid van Moolenbroek<dt><span class="term">-b <em class="replaceable"><code>keysize</code></em></span></dt> 99*00b67f09SDavid van Moolenbroek<dd> 100*00b67f09SDavid van Moolenbroek<p> 101*00b67f09SDavid van Moolenbroek Specifies the number of bits in the key. The choice of key 102*00b67f09SDavid van Moolenbroek size depends on the algorithm used. RSA keys must be 103*00b67f09SDavid van Moolenbroek between 512 and 2048 bits. Diffie Hellman keys must be between 104*00b67f09SDavid van Moolenbroek 128 and 4096 bits. DSA keys must be between 512 and 1024 105*00b67f09SDavid van Moolenbroek bits and an exact multiple of 64. HMAC keys must be 106*00b67f09SDavid van Moolenbroek between 1 and 512 bits. Elliptic curve algorithms don't need 107*00b67f09SDavid van Moolenbroek this parameter. 108*00b67f09SDavid van Moolenbroek </p> 109*00b67f09SDavid van Moolenbroek<p> 110*00b67f09SDavid van Moolenbroek The key size does not need to be specified if using a default 111*00b67f09SDavid van Moolenbroek algorithm. The default key size is 1024 bits for zone signing 112*00b67f09SDavid van Moolenbroek keys (ZSK's) and 2048 bits for key signing keys (KSK's, 113*00b67f09SDavid van Moolenbroek generated with <code class="option">-f KSK</code>). However, if an 114*00b67f09SDavid van Moolenbroek algorithm is explicitly specified with the <code class="option">-a</code>, 115*00b67f09SDavid van Moolenbroek then there is no default key size, and the <code class="option">-b</code> 116*00b67f09SDavid van Moolenbroek must be used. 117*00b67f09SDavid van Moolenbroek </p> 118*00b67f09SDavid van Moolenbroek</dd> 119*00b67f09SDavid van Moolenbroek<dt><span class="term">-n <em class="replaceable"><code>nametype</code></em></span></dt> 120*00b67f09SDavid van Moolenbroek<dd><p> 121*00b67f09SDavid van Moolenbroek Specifies the owner type of the key. The value of 122*00b67f09SDavid van Moolenbroek <code class="option">nametype</code> must either be ZONE (for a DNSSEC 123*00b67f09SDavid van Moolenbroek zone key (KEY/DNSKEY)), HOST or ENTITY (for a key associated with 124*00b67f09SDavid van Moolenbroek a host (KEY)), 125*00b67f09SDavid van Moolenbroek USER (for a key associated with a user(KEY)) or OTHER (DNSKEY). 126*00b67f09SDavid van Moolenbroek These values are case insensitive. Defaults to ZONE for DNSKEY 127*00b67f09SDavid van Moolenbroek generation. 128*00b67f09SDavid van Moolenbroek </p></dd> 129*00b67f09SDavid van Moolenbroek<dt><span class="term">-3</span></dt> 130*00b67f09SDavid van Moolenbroek<dd><p> 131*00b67f09SDavid van Moolenbroek Use an NSEC3-capable algorithm to generate a DNSSEC key. 132*00b67f09SDavid van Moolenbroek If this option is used and no algorithm is explicitly 133*00b67f09SDavid van Moolenbroek set on the command line, NSEC3RSASHA1 will be used by 134*00b67f09SDavid van Moolenbroek default. Note that RSASHA256, RSASHA512, ECCGOST, 135*00b67f09SDavid van Moolenbroek ECDSAP256SHA256 and ECDSAP384SHA384 algorithms 136*00b67f09SDavid van Moolenbroek are NSEC3-capable. 137*00b67f09SDavid van Moolenbroek </p></dd> 138*00b67f09SDavid van Moolenbroek<dt><span class="term">-C</span></dt> 139*00b67f09SDavid van Moolenbroek<dd><p> 140*00b67f09SDavid van Moolenbroek Compatibility mode: generates an old-style key, without 141*00b67f09SDavid van Moolenbroek any metadata. By default, <span><strong class="command">dnssec-keygen</strong></span> 142*00b67f09SDavid van Moolenbroek will include the key's creation date in the metadata stored 143*00b67f09SDavid van Moolenbroek with the private key, and other dates may be set there as well 144*00b67f09SDavid van Moolenbroek (publication date, activation date, etc). Keys that include 145*00b67f09SDavid van Moolenbroek this data may be incompatible with older versions of BIND; the 146*00b67f09SDavid van Moolenbroek <code class="option">-C</code> option suppresses them. 147*00b67f09SDavid van Moolenbroek </p></dd> 148*00b67f09SDavid van Moolenbroek<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt> 149*00b67f09SDavid van Moolenbroek<dd><p> 150*00b67f09SDavid van Moolenbroek Indicates that the DNS record containing the key should have 151*00b67f09SDavid van Moolenbroek the specified class. If not specified, class IN is used. 152*00b67f09SDavid van Moolenbroek </p></dd> 153*00b67f09SDavid van Moolenbroek<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt> 154*00b67f09SDavid van Moolenbroek<dd> 155*00b67f09SDavid van Moolenbroek<p> 156*00b67f09SDavid van Moolenbroek Specifies the cryptographic hardware to use, when applicable. 157*00b67f09SDavid van Moolenbroek </p> 158*00b67f09SDavid van Moolenbroek<p> 159*00b67f09SDavid van Moolenbroek When BIND is built with OpenSSL PKCS#11 support, this defaults 160*00b67f09SDavid van Moolenbroek to the string "pkcs11", which identifies an OpenSSL engine 161*00b67f09SDavid van Moolenbroek that can drive a cryptographic accelerator or hardware service 162*00b67f09SDavid van Moolenbroek module. When BIND is built with native PKCS#11 cryptography 163*00b67f09SDavid van Moolenbroek (--enable-native-pkcs11), it defaults to the path of the PKCS#11 164*00b67f09SDavid van Moolenbroek provider library specified via "--with-pkcs11". 165*00b67f09SDavid van Moolenbroek </p> 166*00b67f09SDavid van Moolenbroek</dd> 167*00b67f09SDavid van Moolenbroek<dt><span class="term">-f <em class="replaceable"><code>flag</code></em></span></dt> 168*00b67f09SDavid van Moolenbroek<dd><p> 169*00b67f09SDavid van Moolenbroek Set the specified flag in the flag field of the KEY/DNSKEY record. 170*00b67f09SDavid van Moolenbroek The only recognized flags are KSK (Key Signing Key) and REVOKE. 171*00b67f09SDavid van Moolenbroek </p></dd> 172*00b67f09SDavid van Moolenbroek<dt><span class="term">-G</span></dt> 173*00b67f09SDavid van Moolenbroek<dd><p> 174*00b67f09SDavid van Moolenbroek Generate a key, but do not publish it or sign with it. This 175*00b67f09SDavid van Moolenbroek option is incompatible with -P and -A. 176*00b67f09SDavid van Moolenbroek </p></dd> 177*00b67f09SDavid van Moolenbroek<dt><span class="term">-g <em class="replaceable"><code>generator</code></em></span></dt> 178*00b67f09SDavid van Moolenbroek<dd><p> 179*00b67f09SDavid van Moolenbroek If generating a Diffie Hellman key, use this generator. 180*00b67f09SDavid van Moolenbroek Allowed values are 2 and 5. If no generator 181*00b67f09SDavid van Moolenbroek is specified, a known prime from RFC 2539 will be used 182*00b67f09SDavid van Moolenbroek if possible; otherwise the default is 2. 183*00b67f09SDavid van Moolenbroek </p></dd> 184*00b67f09SDavid van Moolenbroek<dt><span class="term">-h</span></dt> 185*00b67f09SDavid van Moolenbroek<dd><p> 186*00b67f09SDavid van Moolenbroek Prints a short summary of the options and arguments to 187*00b67f09SDavid van Moolenbroek <span><strong class="command">dnssec-keygen</strong></span>. 188*00b67f09SDavid van Moolenbroek </p></dd> 189*00b67f09SDavid van Moolenbroek<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt> 190*00b67f09SDavid van Moolenbroek<dd><p> 191*00b67f09SDavid van Moolenbroek Sets the directory in which the key files are to be written. 192*00b67f09SDavid van Moolenbroek </p></dd> 193*00b67f09SDavid van Moolenbroek<dt><span class="term">-k</span></dt> 194*00b67f09SDavid van Moolenbroek<dd><p> 195*00b67f09SDavid van Moolenbroek Deprecated in favor of -T KEY. 196*00b67f09SDavid van Moolenbroek </p></dd> 197*00b67f09SDavid van Moolenbroek<dt><span class="term">-L <em class="replaceable"><code>ttl</code></em></span></dt> 198*00b67f09SDavid van Moolenbroek<dd><p> 199*00b67f09SDavid van Moolenbroek Sets the default TTL to use for this key when it is converted 200*00b67f09SDavid van Moolenbroek into a DNSKEY RR. If the key is imported into a zone, 201*00b67f09SDavid van Moolenbroek this is the TTL that will be used for it, unless there was 202*00b67f09SDavid van Moolenbroek already a DNSKEY RRset in place, in which case the existing TTL 203*00b67f09SDavid van Moolenbroek would take precedence. If this value is not set and there 204*00b67f09SDavid van Moolenbroek is no existing DNSKEY RRset, the TTL will default to the 205*00b67f09SDavid van Moolenbroek SOA TTL. Setting the default TTL to <code class="literal">0</code> 206*00b67f09SDavid van Moolenbroek or <code class="literal">none</code> is the same as leaving it unset. 207*00b67f09SDavid van Moolenbroek </p></dd> 208*00b67f09SDavid van Moolenbroek<dt><span class="term">-p <em class="replaceable"><code>protocol</code></em></span></dt> 209*00b67f09SDavid van Moolenbroek<dd><p> 210*00b67f09SDavid van Moolenbroek Sets the protocol value for the generated key. The protocol 211*00b67f09SDavid van Moolenbroek is a number between 0 and 255. The default is 3 (DNSSEC). 212*00b67f09SDavid van Moolenbroek Other possible values for this argument are listed in 213*00b67f09SDavid van Moolenbroek RFC 2535 and its successors. 214*00b67f09SDavid van Moolenbroek </p></dd> 215*00b67f09SDavid van Moolenbroek<dt><span class="term">-q</span></dt> 216*00b67f09SDavid van Moolenbroek<dd><p> 217*00b67f09SDavid van Moolenbroek Quiet mode: Suppresses unnecessary output, including 218*00b67f09SDavid van Moolenbroek progress indication. Without this option, when 219*00b67f09SDavid van Moolenbroek <span><strong class="command">dnssec-keygen</strong></span> is run interactively 220*00b67f09SDavid van Moolenbroek to generate an RSA or DSA key pair, it will print a string 221*00b67f09SDavid van Moolenbroek of symbols to <code class="filename">stderr</code> indicating the 222*00b67f09SDavid van Moolenbroek progress of the key generation. A '.' indicates that a 223*00b67f09SDavid van Moolenbroek random number has been found which passed an initial 224*00b67f09SDavid van Moolenbroek sieve test; '+' means a number has passed a single 225*00b67f09SDavid van Moolenbroek round of the Miller-Rabin primality test; a space 226*00b67f09SDavid van Moolenbroek means that the number has passed all the tests and is 227*00b67f09SDavid van Moolenbroek a satisfactory key. 228*00b67f09SDavid van Moolenbroek </p></dd> 229*00b67f09SDavid van Moolenbroek<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt> 230*00b67f09SDavid van Moolenbroek<dd><p> 231*00b67f09SDavid van Moolenbroek Specifies the source of randomness. If the operating 232*00b67f09SDavid van Moolenbroek system does not provide a <code class="filename">/dev/random</code> 233*00b67f09SDavid van Moolenbroek or equivalent device, the default source of randomness 234*00b67f09SDavid van Moolenbroek is keyboard input. <code class="filename">randomdev</code> 235*00b67f09SDavid van Moolenbroek specifies 236*00b67f09SDavid van Moolenbroek the name of a character device or file containing random 237*00b67f09SDavid van Moolenbroek data to be used instead of the default. The special value 238*00b67f09SDavid van Moolenbroek <code class="filename">keyboard</code> indicates that keyboard 239*00b67f09SDavid van Moolenbroek input should be used. 240*00b67f09SDavid van Moolenbroek </p></dd> 241*00b67f09SDavid van Moolenbroek<dt><span class="term">-S <em class="replaceable"><code>key</code></em></span></dt> 242*00b67f09SDavid van Moolenbroek<dd><p> 243*00b67f09SDavid van Moolenbroek Create a new key which is an explicit successor to an 244*00b67f09SDavid van Moolenbroek existing key. The name, algorithm, size, and type of the 245*00b67f09SDavid van Moolenbroek key will be set to match the existing key. The activation 246*00b67f09SDavid van Moolenbroek date of the new key will be set to the inactivation date of 247*00b67f09SDavid van Moolenbroek the existing one. The publication date will be set to the 248*00b67f09SDavid van Moolenbroek activation date minus the prepublication interval, which 249*00b67f09SDavid van Moolenbroek defaults to 30 days. 250*00b67f09SDavid van Moolenbroek </p></dd> 251*00b67f09SDavid van Moolenbroek<dt><span class="term">-s <em class="replaceable"><code>strength</code></em></span></dt> 252*00b67f09SDavid van Moolenbroek<dd><p> 253*00b67f09SDavid van Moolenbroek Specifies the strength value of the key. The strength is 254*00b67f09SDavid van Moolenbroek a number between 0 and 15, and currently has no defined 255*00b67f09SDavid van Moolenbroek purpose in DNSSEC. 256*00b67f09SDavid van Moolenbroek </p></dd> 257*00b67f09SDavid van Moolenbroek<dt><span class="term">-T <em class="replaceable"><code>rrtype</code></em></span></dt> 258*00b67f09SDavid van Moolenbroek<dd> 259*00b67f09SDavid van Moolenbroek<p> 260*00b67f09SDavid van Moolenbroek Specifies the resource record type to use for the key. 261*00b67f09SDavid van Moolenbroek <code class="option">rrtype</code> must be either DNSKEY or KEY. The 262*00b67f09SDavid van Moolenbroek default is DNSKEY when using a DNSSEC algorithm, but it can be 263*00b67f09SDavid van Moolenbroek overridden to KEY for use with SIG(0). 264*00b67f09SDavid van Moolenbroek </p> 265*00b67f09SDavid van Moolenbroek<p> 266*00b67f09SDavid van Moolenbroek </p> 267*00b67f09SDavid van Moolenbroek<p> 268*00b67f09SDavid van Moolenbroek Using any TSIG algorithm (HMAC-* or DH) forces this option 269*00b67f09SDavid van Moolenbroek to KEY. 270*00b67f09SDavid van Moolenbroek </p> 271*00b67f09SDavid van Moolenbroek</dd> 272*00b67f09SDavid van Moolenbroek<dt><span class="term">-t <em class="replaceable"><code>type</code></em></span></dt> 273*00b67f09SDavid van Moolenbroek<dd><p> 274*00b67f09SDavid van Moolenbroek Indicates the use of the key. <code class="option">type</code> must be 275*00b67f09SDavid van Moolenbroek one of AUTHCONF, NOAUTHCONF, NOAUTH, or NOCONF. The default 276*00b67f09SDavid van Moolenbroek is AUTHCONF. AUTH refers to the ability to authenticate 277*00b67f09SDavid van Moolenbroek data, and CONF the ability to encrypt data. 278*00b67f09SDavid van Moolenbroek </p></dd> 279*00b67f09SDavid van Moolenbroek<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt> 280*00b67f09SDavid van Moolenbroek<dd><p> 281*00b67f09SDavid van Moolenbroek Sets the debugging level. 282*00b67f09SDavid van Moolenbroek </p></dd> 283*00b67f09SDavid van Moolenbroek<dt><span class="term">-V</span></dt> 284*00b67f09SDavid van Moolenbroek<dd><p> 285*00b67f09SDavid van Moolenbroek Prints version information. 286*00b67f09SDavid van Moolenbroek </p></dd> 287*00b67f09SDavid van Moolenbroek</dl></div> 288*00b67f09SDavid van Moolenbroek</div> 289*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 290*00b67f09SDavid van Moolenbroek<a name="id2673181"></a><h2>TIMING OPTIONS</h2> 291*00b67f09SDavid van Moolenbroek<p> 292*00b67f09SDavid van Moolenbroek Dates can be expressed in the format YYYYMMDD or YYYYMMDDHHMMSS. 293*00b67f09SDavid van Moolenbroek If the argument begins with a '+' or '-', it is interpreted as 294*00b67f09SDavid van Moolenbroek an offset from the present time. For convenience, if such an offset 295*00b67f09SDavid van Moolenbroek is followed by one of the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', 296*00b67f09SDavid van Moolenbroek then the offset is computed in years (defined as 365 24-hour days, 297*00b67f09SDavid van Moolenbroek ignoring leap years), months (defined as 30 24-hour days), weeks, 298*00b67f09SDavid van Moolenbroek days, hours, or minutes, respectively. Without a suffix, the offset 299*00b67f09SDavid van Moolenbroek is computed in seconds. To explicitly prevent a date from being 300*00b67f09SDavid van Moolenbroek set, use 'none' or 'never'. 301*00b67f09SDavid van Moolenbroek </p> 302*00b67f09SDavid van Moolenbroek<div class="variablelist"><dl> 303*00b67f09SDavid van Moolenbroek<dt><span class="term">-P <em class="replaceable"><code>date/offset</code></em></span></dt> 304*00b67f09SDavid van Moolenbroek<dd><p> 305*00b67f09SDavid van Moolenbroek Sets the date on which a key is to be published to the zone. 306*00b67f09SDavid van Moolenbroek After that date, the key will be included in the zone but will 307*00b67f09SDavid van Moolenbroek not be used to sign it. If not set, and if the -G option has 308*00b67f09SDavid van Moolenbroek not been used, the default is "now". 309*00b67f09SDavid van Moolenbroek </p></dd> 310*00b67f09SDavid van Moolenbroek<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt> 311*00b67f09SDavid van Moolenbroek<dd><p> 312*00b67f09SDavid van Moolenbroek Sets the date on which the key is to be activated. After that 313*00b67f09SDavid van Moolenbroek date, the key will be included in the zone and used to sign 314*00b67f09SDavid van Moolenbroek it. If not set, and if the -G option has not been used, the 315*00b67f09SDavid van Moolenbroek default is "now". If set, if and -P is not set, then 316*00b67f09SDavid van Moolenbroek the publication date will be set to the activation date 317*00b67f09SDavid van Moolenbroek minus the prepublication interval. 318*00b67f09SDavid van Moolenbroek </p></dd> 319*00b67f09SDavid van Moolenbroek<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt> 320*00b67f09SDavid van Moolenbroek<dd><p> 321*00b67f09SDavid van Moolenbroek Sets the date on which the key is to be revoked. After that 322*00b67f09SDavid van Moolenbroek date, the key will be flagged as revoked. It will be included 323*00b67f09SDavid van Moolenbroek in the zone and will be used to sign it. 324*00b67f09SDavid van Moolenbroek </p></dd> 325*00b67f09SDavid van Moolenbroek<dt><span class="term">-I <em class="replaceable"><code>date/offset</code></em></span></dt> 326*00b67f09SDavid van Moolenbroek<dd><p> 327*00b67f09SDavid van Moolenbroek Sets the date on which the key is to be retired. After that 328*00b67f09SDavid van Moolenbroek date, the key will still be included in the zone, but it 329*00b67f09SDavid van Moolenbroek will not be used to sign it. 330*00b67f09SDavid van Moolenbroek </p></dd> 331*00b67f09SDavid van Moolenbroek<dt><span class="term">-D <em class="replaceable"><code>date/offset</code></em></span></dt> 332*00b67f09SDavid van Moolenbroek<dd><p> 333*00b67f09SDavid van Moolenbroek Sets the date on which the key is to be deleted. After that 334*00b67f09SDavid van Moolenbroek date, the key will no longer be included in the zone. (It 335*00b67f09SDavid van Moolenbroek may remain in the key repository, however.) 336*00b67f09SDavid van Moolenbroek </p></dd> 337*00b67f09SDavid van Moolenbroek<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt> 338*00b67f09SDavid van Moolenbroek<dd> 339*00b67f09SDavid van Moolenbroek<p> 340*00b67f09SDavid van Moolenbroek Sets the prepublication interval for a key. If set, then 341*00b67f09SDavid van Moolenbroek the publication and activation dates must be separated by at least 342*00b67f09SDavid van Moolenbroek this much time. If the activation date is specified but the 343*00b67f09SDavid van Moolenbroek publication date isn't, then the publication date will default 344*00b67f09SDavid van Moolenbroek to this much time before the activation date; conversely, if 345*00b67f09SDavid van Moolenbroek the publication date is specified but activation date isn't, 346*00b67f09SDavid van Moolenbroek then activation will be set to this much time after publication. 347*00b67f09SDavid van Moolenbroek </p> 348*00b67f09SDavid van Moolenbroek<p> 349*00b67f09SDavid van Moolenbroek If the key is being created as an explicit successor to another 350*00b67f09SDavid van Moolenbroek key, then the default prepublication interval is 30 days; 351*00b67f09SDavid van Moolenbroek otherwise it is zero. 352*00b67f09SDavid van Moolenbroek </p> 353*00b67f09SDavid van Moolenbroek<p> 354*00b67f09SDavid van Moolenbroek As with date offsets, if the argument is followed by one of 355*00b67f09SDavid van Moolenbroek the suffixes 'y', 'mo', 'w', 'd', 'h', or 'mi', then the 356*00b67f09SDavid van Moolenbroek interval is measured in years, months, weeks, days, hours, 357*00b67f09SDavid van Moolenbroek or minutes, respectively. Without a suffix, the interval is 358*00b67f09SDavid van Moolenbroek measured in seconds. 359*00b67f09SDavid van Moolenbroek </p> 360*00b67f09SDavid van Moolenbroek</dd> 361*00b67f09SDavid van Moolenbroek</dl></div> 362*00b67f09SDavid van Moolenbroek</div> 363*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 364*00b67f09SDavid van Moolenbroek<a name="id2673371"></a><h2>GENERATED KEYS</h2> 365*00b67f09SDavid van Moolenbroek<p> 366*00b67f09SDavid van Moolenbroek When <span><strong class="command">dnssec-keygen</strong></span> completes 367*00b67f09SDavid van Moolenbroek successfully, 368*00b67f09SDavid van Moolenbroek it prints a string of the form <code class="filename">Knnnn.+aaa+iiiii</code> 369*00b67f09SDavid van Moolenbroek to the standard output. This is an identification string for 370*00b67f09SDavid van Moolenbroek the key it has generated. 371*00b67f09SDavid van Moolenbroek </p> 372*00b67f09SDavid van Moolenbroek<div class="itemizedlist"><ul type="disc"> 373*00b67f09SDavid van Moolenbroek<li><p><code class="filename">nnnn</code> is the key name. 374*00b67f09SDavid van Moolenbroek </p></li> 375*00b67f09SDavid van Moolenbroek<li><p><code class="filename">aaa</code> is the numeric representation 376*00b67f09SDavid van Moolenbroek of the 377*00b67f09SDavid van Moolenbroek algorithm. 378*00b67f09SDavid van Moolenbroek </p></li> 379*00b67f09SDavid van Moolenbroek<li><p><code class="filename">iiiii</code> is the key identifier (or 380*00b67f09SDavid van Moolenbroek footprint). 381*00b67f09SDavid van Moolenbroek </p></li> 382*00b67f09SDavid van Moolenbroek</ul></div> 383*00b67f09SDavid van Moolenbroek<p><span><strong class="command">dnssec-keygen</strong></span> 384*00b67f09SDavid van Moolenbroek creates two files, with names based 385*00b67f09SDavid van Moolenbroek on the printed string. <code class="filename">Knnnn.+aaa+iiiii.key</code> 386*00b67f09SDavid van Moolenbroek contains the public key, and 387*00b67f09SDavid van Moolenbroek <code class="filename">Knnnn.+aaa+iiiii.private</code> contains the 388*00b67f09SDavid van Moolenbroek private 389*00b67f09SDavid van Moolenbroek key. 390*00b67f09SDavid van Moolenbroek </p> 391*00b67f09SDavid van Moolenbroek<p> 392*00b67f09SDavid van Moolenbroek The <code class="filename">.key</code> file contains a DNS KEY record 393*00b67f09SDavid van Moolenbroek that 394*00b67f09SDavid van Moolenbroek can be inserted into a zone file (directly or with a $INCLUDE 395*00b67f09SDavid van Moolenbroek statement). 396*00b67f09SDavid van Moolenbroek </p> 397*00b67f09SDavid van Moolenbroek<p> 398*00b67f09SDavid van Moolenbroek The <code class="filename">.private</code> file contains 399*00b67f09SDavid van Moolenbroek algorithm-specific 400*00b67f09SDavid van Moolenbroek fields. For obvious security reasons, this file does not have 401*00b67f09SDavid van Moolenbroek general read permission. 402*00b67f09SDavid van Moolenbroek </p> 403*00b67f09SDavid van Moolenbroek<p> 404*00b67f09SDavid van Moolenbroek Both <code class="filename">.key</code> and <code class="filename">.private</code> 405*00b67f09SDavid van Moolenbroek files are generated for symmetric encryption algorithms such as 406*00b67f09SDavid van Moolenbroek HMAC-MD5, even though the public and private key are equivalent. 407*00b67f09SDavid van Moolenbroek </p> 408*00b67f09SDavid van Moolenbroek</div> 409*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 410*00b67f09SDavid van Moolenbroek<a name="id2673547"></a><h2>EXAMPLE</h2> 411*00b67f09SDavid van Moolenbroek<p> 412*00b67f09SDavid van Moolenbroek To generate a 768-bit DSA key for the domain 413*00b67f09SDavid van Moolenbroek <strong class="userinput"><code>example.com</code></strong>, the following command would be 414*00b67f09SDavid van Moolenbroek issued: 415*00b67f09SDavid van Moolenbroek </p> 416*00b67f09SDavid van Moolenbroek<p><strong class="userinput"><code>dnssec-keygen -a DSA -b 768 -n ZONE example.com</code></strong> 417*00b67f09SDavid van Moolenbroek </p> 418*00b67f09SDavid van Moolenbroek<p> 419*00b67f09SDavid van Moolenbroek The command would print a string of the form: 420*00b67f09SDavid van Moolenbroek </p> 421*00b67f09SDavid van Moolenbroek<p><strong class="userinput"><code>Kexample.com.+003+26160</code></strong> 422*00b67f09SDavid van Moolenbroek </p> 423*00b67f09SDavid van Moolenbroek<p> 424*00b67f09SDavid van Moolenbroek In this example, <span><strong class="command">dnssec-keygen</strong></span> creates 425*00b67f09SDavid van Moolenbroek the files <code class="filename">Kexample.com.+003+26160.key</code> 426*00b67f09SDavid van Moolenbroek and 427*00b67f09SDavid van Moolenbroek <code class="filename">Kexample.com.+003+26160.private</code>. 428*00b67f09SDavid van Moolenbroek </p> 429*00b67f09SDavid van Moolenbroek</div> 430*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 431*00b67f09SDavid van Moolenbroek<a name="id2673604"></a><h2>SEE ALSO</h2> 432*00b67f09SDavid van Moolenbroek<p><span class="citerefentry"><span class="refentrytitle">dnssec-signzone</span>(8)</span>, 433*00b67f09SDavid van Moolenbroek <em class="citetitle">BIND 9 Administrator Reference Manual</em>, 434*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2539</em>, 435*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 2845</em>, 436*00b67f09SDavid van Moolenbroek <em class="citetitle">RFC 4034</em>. 437*00b67f09SDavid van Moolenbroek </p> 438*00b67f09SDavid van Moolenbroek</div> 439*00b67f09SDavid van Moolenbroek<div class="refsect1" lang="en"> 440*00b67f09SDavid van Moolenbroek<a name="id2673635"></a><h2>AUTHOR</h2> 441*00b67f09SDavid van Moolenbroek<p><span class="corpauthor">Internet Systems Consortium</span> 442*00b67f09SDavid van Moolenbroek </p> 443*00b67f09SDavid van Moolenbroek</div> 444*00b67f09SDavid van Moolenbroek</div> 445*00b67f09SDavid van Moolenbroek<div class="navfooter"> 446*00b67f09SDavid van Moolenbroek<hr> 447*00b67f09SDavid van Moolenbroek<table width="100%" summary="Navigation footer"> 448*00b67f09SDavid van Moolenbroek<tr> 449*00b67f09SDavid van Moolenbroek<td width="40%" align="left"> 450*00b67f09SDavid van Moolenbroek<a accesskey="p" href="man.dnssec-keyfromlabel.html">Prev</a>�</td> 451*00b67f09SDavid van Moolenbroek<td width="20%" align="center"><a accesskey="u" href="Bv9ARM.ch13.html">Up</a></td> 452*00b67f09SDavid van Moolenbroek<td width="40%" align="right">�<a accesskey="n" href="man.dnssec-revoke.html">Next</a> 453*00b67f09SDavid van Moolenbroek</td> 454*00b67f09SDavid van Moolenbroek</tr> 455*00b67f09SDavid van Moolenbroek<tr> 456*00b67f09SDavid van Moolenbroek<td width="40%" align="left" valign="top"> 457*00b67f09SDavid van Moolenbroek<span class="application">dnssec-keyfromlabel</span>�</td> 458*00b67f09SDavid van Moolenbroek<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td> 459*00b67f09SDavid van Moolenbroek<td width="40%" align="right" valign="top">�<span class="application">dnssec-revoke</span> 460*00b67f09SDavid van Moolenbroek</td> 461*00b67f09SDavid van Moolenbroek</tr> 462*00b67f09SDavid van Moolenbroek</table> 463*00b67f09SDavid van Moolenbroek</div> 464*00b67f09SDavid van Moolenbroek<p style="text-align: center;">BIND 9.10.2-P4</p> 465*00b67f09SDavid van Moolenbroek</body> 466*00b67f09SDavid van Moolenbroek</html> 467