Merge branch 'vendor/EXPAT'
[dragonfly.git] / contrib / bind / bin / dnssec / dnssec-signzone.html
1 <!--
2  - Copyright (C) 2004-2008 Internet Systems Consortium, Inc. ("ISC")
3  - Copyright (C) 2000-2003 Internet Software Consortium.
4  - 
5  - Permission to use, copy, modify, and/or distribute this software for any
6  - purpose with or without fee is hereby granted, provided that the above
7  - copyright notice and this permission notice appear in all copies.
8  - 
9  - THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10  - REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11  - AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12  - INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13  - LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14  - OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15  - PERFORMANCE OF THIS SOFTWARE.
16 -->
17 <!-- $Id: dnssec-signzone.html,v 1.31.164.3 2009/07/11 01:43:27 tbox Exp $ -->
18 <html>
19 <head>
20 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
21 <title>dnssec-signzone</title>
22 <meta name="generator" content="DocBook XSL Stylesheets V1.71.1">
23 </head>
24 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry" lang="en">
25 <a name="man.dnssec-signzone"></a><div class="titlepage"></div>
26 <div class="refnamediv">
27 <h2>Name</h2>
28 <p><span class="application">dnssec-signzone</span> &#8212; DNSSEC zone signing tool</p>
29 </div>
30 <div class="refsynopsisdiv">
31 <h2>Synopsis</h2>
32 <div class="cmdsynopsis"><p><code class="command">dnssec-signzone</code>  [<code class="option">-a</code>] [<code class="option">-c <em class="replaceable"><code>class</code></em></code>] [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>] [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>] [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>] [<code class="option">-g</code>] [<code class="option">-h</code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>] [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>] [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>] [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>] [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>] [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>] [<code class="option">-p</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-t</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-z</code>] {zonefile} [key...]</p></div>
33 </div>
34 <div class="refsect1" lang="en">
35 <a name="id2543529"></a><h2>DESCRIPTION</h2>
36 <p><span><strong class="command">dnssec-signzone</strong></span>
37       signs a zone.  It generates
38       NSEC and RRSIG records and produces a signed version of the
39       zone. The security status of delegations from the signed zone
40       (that is, whether the child zones are secure or not) is
41       determined by the presence or absence of a
42       <code class="filename">keyset</code> file for each child zone.
43     </p>
44 </div>
45 <div class="refsect1" lang="en">
46 <a name="id2543544"></a><h2>OPTIONS</h2>
47 <div class="variablelist"><dl>
48 <dt><span class="term">-a</span></dt>
49 <dd><p>
50             Verify all generated signatures.
51           </p></dd>
52 <dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
53 <dd><p>
54             Specifies the DNS class of the zone.
55           </p></dd>
56 <dt><span class="term">-k <em class="replaceable"><code>key</code></em></span></dt>
57 <dd><p>
58             Treat specified key as a key signing key ignoring any
59             key flags.  This option may be specified multiple times.
60           </p></dd>
61 <dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
62 <dd><p>
63             Generate a DLV set in addition to the key (DNSKEY) and DS sets.
64             The domain is appended to the name of the records.
65           </p></dd>
66 <dt><span class="term">-d <em class="replaceable"><code>directory</code></em></span></dt>
67 <dd><p>
68             Look for <code class="filename">keyset</code> files in
69             <code class="option">directory</code> as the directory
70           </p></dd>
71 <dt><span class="term">-g</span></dt>
72 <dd><p>
73             Generate DS records for child zones from keyset files.
74             Existing DS records will be removed.
75           </p></dd>
76 <dt><span class="term">-s <em class="replaceable"><code>start-time</code></em></span></dt>
77 <dd><p>
78             Specify the date and time when the generated RRSIG records
79             become valid.  This can be either an absolute or relative
80             time.  An absolute start time is indicated by a number
81             in YYYYMMDDHHMMSS notation; 20000530144500 denotes
82             14:45:00 UTC on May 30th, 2000.  A relative start time is
83             indicated by +N, which is N seconds from the current time.
84             If no <code class="option">start-time</code> is specified, the current
85             time minus 1 hour (to allow for clock skew) is used.
86           </p></dd>
87 <dt><span class="term">-e <em class="replaceable"><code>end-time</code></em></span></dt>
88 <dd><p>
89             Specify the date and time when the generated RRSIG records
90             expire.  As with <code class="option">start-time</code>, an absolute
91             time is indicated in YYYYMMDDHHMMSS notation.  A time relative
92             to the start time is indicated with +N, which is N seconds from
93             the start time.  A time relative to the current time is
94             indicated with now+N.  If no <code class="option">end-time</code> is
95             specified, 30 days from the start time is used as a default.
96           </p></dd>
97 <dt><span class="term">-f <em class="replaceable"><code>output-file</code></em></span></dt>
98 <dd><p>
99             The name of the output file containing the signed zone.  The
100             default is to append <code class="filename">.signed</code> to
101             the
102             input filename.
103           </p></dd>
104 <dt><span class="term">-h</span></dt>
105 <dd><p>
106             Prints a short summary of the options and arguments to
107             <span><strong class="command">dnssec-signzone</strong></span>.
108           </p></dd>
109 <dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
110 <dd>
111 <p>
112             When a previously-signed zone is passed as input, records
113             may be resigned.  The <code class="option">interval</code> option
114             specifies the cycle interval as an offset from the current
115             time (in seconds).  If a RRSIG record expires after the
116             cycle interval, it is retained.  Otherwise, it is considered
117             to be expiring soon, and it will be replaced.
118           </p>
119 <p>
120             The default cycle interval is one quarter of the difference
121             between the signature end and start times.  So if neither
122             <code class="option">end-time</code> or <code class="option">start-time</code>
123             are specified, <span><strong class="command">dnssec-signzone</strong></span>
124             generates
125             signatures that are valid for 30 days, with a cycle
126             interval of 7.5 days.  Therefore, if any existing RRSIG records
127             are due to expire in less than 7.5 days, they would be
128             replaced.
129           </p>
130 </dd>
131 <dt><span class="term">-I <em class="replaceable"><code>input-format</code></em></span></dt>
132 <dd><p>
133             The format of the input zone file.
134             Possible formats are <span><strong class="command">"text"</strong></span> (default)
135             and <span><strong class="command">"raw"</strong></span>.
136             This option is primarily intended to be used for dynamic
137             signed zones so that the dumped zone file in a non-text
138             format containing updates can be signed directly.
139             The use of this option does not make much sense for
140             non-dynamic zones.
141           </p></dd>
142 <dt><span class="term">-j <em class="replaceable"><code>jitter</code></em></span></dt>
143 <dd>
144 <p>
145             When signing a zone with a fixed signature lifetime, all
146             RRSIG records issued at the time of signing expires
147             simultaneously.  If the zone is incrementally signed, i.e.
148             a previously-signed zone is passed as input to the signer,
149             all expired signatures have to be regenerated at about the
150             same time.  The <code class="option">jitter</code> option specifies a
151             jitter window that will be used to randomize the signature
152             expire time, thus spreading incremental signature
153             regeneration over time.
154           </p>
155 <p>
156             Signature lifetime jitter also to some extent benefits
157             validators and servers by spreading out cache expiration,
158             i.e. if large numbers of RRSIGs don't expire at the same time
159             from all caches there will be less congestion than if all
160             validators need to refetch at mostly the same time.
161           </p>
162 </dd>
163 <dt><span class="term">-n <em class="replaceable"><code>ncpus</code></em></span></dt>
164 <dd><p>
165             Specifies the number of threads to use.  By default, one
166             thread is started for each detected CPU.
167           </p></dd>
168 <dt><span class="term">-N <em class="replaceable"><code>soa-serial-format</code></em></span></dt>
169 <dd>
170 <p>
171             The SOA serial number format of the signed zone.
172             Possible formats are <span><strong class="command">"keep"</strong></span> (default),
173             <span><strong class="command">"increment"</strong></span> and
174             <span><strong class="command">"unixtime"</strong></span>.
175           </p>
176 <div class="variablelist"><dl>
177 <dt><span class="term"><span><strong class="command">"keep"</strong></span></span></dt>
178 <dd><p>Do not modify the SOA serial number.</p></dd>
179 <dt><span class="term"><span><strong class="command">"increment"</strong></span></span></dt>
180 <dd><p>Increment the SOA serial number using RFC 1982
181                       arithmetics.</p></dd>
182 <dt><span class="term"><span><strong class="command">"unixtime"</strong></span></span></dt>
183 <dd><p>Set the SOA serial number to the number of seconds
184                 since epoch.</p></dd>
185 </dl></div>
186 </dd>
187 <dt><span class="term">-o <em class="replaceable"><code>origin</code></em></span></dt>
188 <dd><p>
189             The zone origin.  If not specified, the name of the zone file
190             is assumed to be the origin.
191           </p></dd>
192 <dt><span class="term">-O <em class="replaceable"><code>output-format</code></em></span></dt>
193 <dd><p>
194             The format of the output file containing the signed zone.
195             Possible formats are <span><strong class="command">"text"</strong></span> (default)
196             and <span><strong class="command">"raw"</strong></span>.
197           </p></dd>
198 <dt><span class="term">-p</span></dt>
199 <dd><p>
200             Use pseudo-random data when signing the zone.  This is faster,
201             but less secure, than using real random data.  This option
202             may be useful when signing large zones or when the entropy
203             source is limited.
204           </p></dd>
205 <dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
206 <dd><p>
207             Specifies the source of randomness.  If the operating
208             system does not provide a <code class="filename">/dev/random</code>
209             or equivalent device, the default source of randomness
210             is keyboard input.  <code class="filename">randomdev</code>
211             specifies
212             the name of a character device or file containing random
213             data to be used instead of the default.  The special value
214             <code class="filename">keyboard</code> indicates that keyboard
215             input should be used.
216           </p></dd>
217 <dt><span class="term">-t</span></dt>
218 <dd><p>
219             Print statistics at completion.
220           </p></dd>
221 <dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
222 <dd><p>
223             Sets the debugging level.
224           </p></dd>
225 <dt><span class="term">-z</span></dt>
226 <dd><p>
227             Ignore KSK flag on key when determining what to sign.
228           </p></dd>
229 <dt><span class="term">zonefile</span></dt>
230 <dd><p>
231             The file containing the zone to be signed.
232           </p></dd>
233 <dt><span class="term">key</span></dt>
234 <dd><p>
235             Specify which keys should be used to sign the zone.  If
236             no keys are specified, then the zone will be examined
237             for DNSKEY records at the zone apex.  If these are found and
238             there are matching private keys, in the current directory,
239             then these will be used for signing.
240           </p></dd>
241 </dl></div>
242 </div>
243 <div class="refsect1" lang="en">
244 <a name="id2544330"></a><h2>EXAMPLE</h2>
245 <p>
246       The following command signs the <strong class="userinput"><code>example.com</code></strong>
247       zone with the DSA key generated by <span><strong class="command">dnssec-keygen</strong></span>
248       (Kexample.com.+003+17247).  The zone's keys must be in the master
249       file (<code class="filename">db.example.com</code>).  This invocation looks
250       for <code class="filename">keyset</code> files, in the current directory,
251       so that DS records can be generated from them (<span><strong class="command">-g</strong></span>).
252     </p>
253 <pre class="programlisting">% dnssec-signzone -g -o example.com db.example.com \
254 Kexample.com.+003+17247
255 db.example.com.signed
256 %</pre>
257 <p>
258       In the above example, <span><strong class="command">dnssec-signzone</strong></span> creates
259       the file <code class="filename">db.example.com.signed</code>.  This
260       file should be referenced in a zone statement in a
261       <code class="filename">named.conf</code> file.
262     </p>
263 <p>
264       This example re-signs a previously signed zone with default parameters.
265       The private keys are assumed to be in the current directory.
266     </p>
267 <pre class="programlisting">% cp db.example.com.signed db.example.com
268 % dnssec-signzone -o example.com db.example.com
269 db.example.com.signed
270 %</pre>
271 </div>
272 <div class="refsect1" lang="en">
273 <a name="id2544381"></a><h2>SEE ALSO</h2>
274 <p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
275       <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
276       <em class="citetitle">RFC 4033</em>.
277     </p>
278 </div>
279 <div class="refsect1" lang="en">
280 <a name="id2544406"></a><h2>AUTHOR</h2>
281 <p><span class="corpauthor">Internet Systems Consortium</span>
282     </p>
283 </div>
284 </div></body>
285 </html>