Update repub branch u/fanf2/patch to rebasing branch u/fanf2/rebasing revision v9_15_...
[ipreg/bind9.git] / bin / dnssec / dnssec-signzone.html
CommitLineData
63fe88e8 1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
0b062f49 2<!--
b4d3f782 3 - Copyright (C) 2000-2009, 2011-2019 Internet Systems Consortium, Inc. ("ISC")
60e5e10f 4 -
6807a2dc
TU
5 - This Source Code Form is subject to the terms of the Mozilla Public
6 - License, v. 2.0. If a copy of the MPL was not distributed with this
7 - file, You can obtain one at http://mozilla.org/MPL/2.0/.
0b062f49 8-->
63fe88e8 9<html lang="en">
60e5e10f
RA
10<head>
11<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
12<title>dnssec-signzone</title>
fd2597f7 13<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
60e5e10f 14</head>
fd2597f7 15<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="refentry">
5a4557e8 16<a name="man.dnssec-signzone"></a><div class="titlepage"></div>
16fde7f0
TU
17
18
19
20
21
22 <div class="refnamediv">
60e5e10f 23<h2>Name</h2>
16fde7f0
TU
24<p>
25 <span class="application">dnssec-signzone</span>
26 &#8212; DNSSEC zone signing tool
27 </p>
60e5e10f 28</div>
16fde7f0
TU
29
30
31
32 <div class="refsynopsisdiv">
60e5e10f 33<h2>Synopsis</h2>
16fde7f0
TU
34 <div class="cmdsynopsis"><p>
35 <code class="command">dnssec-signzone</code>
36 [<code class="option">-a</code>]
37 [<code class="option">-c <em class="replaceable"><code>class</code></em></code>]
38 [<code class="option">-d <em class="replaceable"><code>directory</code></em></code>]
39 [<code class="option">-D</code>]
40 [<code class="option">-E <em class="replaceable"><code>engine</code></em></code>]
41 [<code class="option">-e <em class="replaceable"><code>end-time</code></em></code>]
42 [<code class="option">-f <em class="replaceable"><code>output-file</code></em></code>]
43 [<code class="option">-g</code>]
44 [<code class="option">-h</code>]
e67fe90a
TU
45 [<code class="option">-i <em class="replaceable"><code>interval</code></em></code>]
46 [<code class="option">-I <em class="replaceable"><code>input-format</code></em></code>]
47 [<code class="option">-j <em class="replaceable"><code>jitter</code></em></code>]
16fde7f0
TU
48 [<code class="option">-K <em class="replaceable"><code>directory</code></em></code>]
49 [<code class="option">-k <em class="replaceable"><code>key</code></em></code>]
50 [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>]
51 [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>]
e67fe90a 52 [<code class="option">-M <em class="replaceable"><code>maxttl</code></em></code>]
16fde7f0
TU
53 [<code class="option">-N <em class="replaceable"><code>soa-serial-format</code></em></code>]
54 [<code class="option">-o <em class="replaceable"><code>origin</code></em></code>]
55 [<code class="option">-O <em class="replaceable"><code>output-format</code></em></code>]
56 [<code class="option">-P</code>]
16fde7f0
TU
57 [<code class="option">-Q</code>]
58 [<code class="option">-R</code>]
16fde7f0
TU
59 [<code class="option">-S</code>]
60 [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>]
61 [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>]
62 [<code class="option">-t</code>]
63 [<code class="option">-u</code>]
64 [<code class="option">-v <em class="replaceable"><code>level</code></em></code>]
65 [<code class="option">-V</code>]
66 [<code class="option">-X <em class="replaceable"><code>extended end-time</code></em></code>]
67 [<code class="option">-x</code>]
68 [<code class="option">-z</code>]
69 [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>]
70 [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>]
71 [<code class="option">-A</code>]
72 {zonefile}
73 [key...]
74 </p></div>
75 </div>
76
77 <div class="refsection">
fd2597f7 78<a name="id-1.7"></a><h2>DESCRIPTION</h2>
16fde7f0
TU
79
80 <p><span class="command"><strong>dnssec-signzone</strong></span>
60e5e10f
RA
81 signs a zone. It generates
82 NSEC and RRSIG records and produces a signed version of the
83 zone. The security status of delegations from the signed zone
84 (that is, whether the child zones are secure or not) is
85 determined by the presence or absence of a
86 <code class="filename">keyset</code> file for each child zone.
87 </p>
16fde7f0
TU
88 </div>
89
90 <div class="refsection">
fd2597f7 91<a name="id-1.8"></a><h2>OPTIONS</h2>
16fde7f0
TU
92
93
94 <div class="variablelist"><dl class="variablelist">
60e5e10f 95<dt><span class="term">-a</span></dt>
16fde7f0
TU
96<dd>
97 <p>
60e5e10f 98 Verify all generated signatures.
16fde7f0
TU
99 </p>
100 </dd>
60e5e10f 101<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
16fde7f0
TU
102<dd>
103 <p>
60e5e10f 104 Specifies the DNS class of the zone.
16fde7f0
TU
105 </p>
106 </dd>
2895f101 107<dt><span class="term">-C</span></dt>
16fde7f0
TU
108<dd>
109 <p>
2895f101
AU
110 Compatibility mode: Generate a
111 <code class="filename">keyset-<em class="replaceable"><code>zonename</code></em></code>
112 file in addition to
113 <code class="filename">dsset-<em class="replaceable"><code>zonename</code></em></code>
114 when signing a zone, for use by older versions of
2eeb74d1 115 <span class="command"><strong>dnssec-signzone</strong></span>.
16fde7f0
TU
116 </p>
117 </dd>
0a7ed886 118<dt><span class="term">-d <em class="replaceable"><code>directory</code></em></span></dt>
16fde7f0
TU
119<dd>
120 <p>
0a7ed886
AU
121 Look for <code class="filename">dsset-</code> or
122 <code class="filename">keyset-</code> files in <code class="option">directory</code>.
16fde7f0
TU
123 </p>
124 </dd>
be6c1c50 125<dt><span class="term">-D</span></dt>
16fde7f0
TU
126<dd>
127 <p>
be6c1c50 128 Output only those record types automatically managed by
2eeb74d1 129 <span class="command"><strong>dnssec-signzone</strong></span>, i.e. RRSIG, NSEC,
be6c1c50
AU
130 NSEC3 and NSEC3PARAM records. If smart signing
131 (<code class="option">-S</code>) is used, DNSKEY records are also
132 included. The resulting file can be included in the original
2eeb74d1 133 zone file with <span class="command"><strong>$INCLUDE</strong></span>. This option
9d557856 134 cannot be combined with <code class="option">-O raw</code>,
43b94483 135 <code class="option">-O map</code>, or serial number updating.
16fde7f0
TU
136 </p>
137 </dd>
8ec3c085 138<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
6ea23853 139<dd>
16fde7f0 140 <p>
6ea23853
TU
141 When applicable, specifies the hardware to use for
142 cryptographic operations, such as a secure key store used
143 for signing.
144 </p>
16fde7f0 145 <p>
6ea23853
TU
146 When BIND is built with OpenSSL PKCS#11 support, this defaults
147 to the string "pkcs11", which identifies an OpenSSL engine
148 that can drive a cryptographic accelerator or hardware service
149 module. When BIND is built with native PKCS#11 cryptography
150 (--enable-native-pkcs11), it defaults to the path of the PKCS#11
151 provider library specified via "--with-pkcs11".
152 </p>
16fde7f0 153 </dd>
0a7ed886 154<dt><span class="term">-g</span></dt>
16fde7f0
TU
155<dd>
156 <p>
0a7ed886
AU
157 Generate DS records for child zones from
158 <code class="filename">dsset-</code> or <code class="filename">keyset-</code>
159 file. Existing DS records will be removed.
16fde7f0
TU
160 </p>
161 </dd>
0a7ed886 162<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
16fde7f0
TU
163<dd>
164 <p>
0a7ed886
AU
165 Key repository: Specify a directory to search for DNSSEC keys.
166 If not specified, defaults to the current directory.
16fde7f0
TU
167 </p>
168 </dd>
60e5e10f 169<dt><span class="term">-k <em class="replaceable"><code>key</code></em></span></dt>
16fde7f0
TU
170<dd>
171 <p>
60e5e10f
RA
172 Treat specified key as a key signing key ignoring any
173 key flags. This option may be specified multiple times.
16fde7f0
TU
174 </p>
175 </dd>
60e5e10f 176<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
16fde7f0
TU
177<dd>
178 <p>
60e5e10f
RA
179 Generate a DLV set in addition to the key (DNSKEY) and DS sets.
180 The domain is appended to the name of the records.
16fde7f0
TU
181 </p>
182 </dd>
0e1dece2 183<dt><span class="term">-M <em class="replaceable"><code>maxttl</code></em></span></dt>
16fde7f0
TU
184<dd>
185 <p>
0e1dece2
TU
186 Sets the maximum TTL for the signed zone.
187 Any TTL higher than <em class="replaceable"><code>maxttl</code></em> in the
188 input zone will be reduced to <em class="replaceable"><code>maxttl</code></em>
189 in the output. This provides certainty as to the largest
190 possible TTL in the signed zone, which is useful to know when
191 rolling keys because it is the longest possible time before
192 signatures that have been retrieved by resolvers will expire
193 from resolver caches. Zones that are signed with this
194 option should be configured to use a matching
195 <code class="option">max-zone-ttl</code> in <code class="filename">named.conf</code>.
196 (Note: This option is incompatible with <code class="option">-D</code>,
197 because it modifies non-DNSSEC data in the output zone.)
16fde7f0
TU
198 </p>
199 </dd>
60e5e10f 200<dt><span class="term">-s <em class="replaceable"><code>start-time</code></em></span></dt>
16fde7f0
TU
201<dd>
202 <p>
60e5e10f
RA
203 Specify the date and time when the generated RRSIG records
204 become valid. This can be either an absolute or relative
205 time. An absolute start time is indicated by a number
206 in YYYYMMDDHHMMSS notation; 20000530144500 denotes
207 14:45:00 UTC on May 30th, 2000. A relative start time is
208 indicated by +N, which is N seconds from the current time.
209 If no <code class="option">start-time</code> is specified, the current
210 time minus 1 hour (to allow for clock skew) is used.
16fde7f0
TU
211 </p>
212 </dd>
60e5e10f 213<dt><span class="term">-e <em class="replaceable"><code>end-time</code></em></span></dt>
16fde7f0
TU
214<dd>
215 <p>
60e5e10f
RA
216 Specify the date and time when the generated RRSIG records
217 expire. As with <code class="option">start-time</code>, an absolute
218 time is indicated in YYYYMMDDHHMMSS notation. A time relative
219 to the start time is indicated with +N, which is N seconds from
220 the start time. A time relative to the current time is
221 indicated with now+N. If no <code class="option">end-time</code> is
222 specified, 30 days from the start time is used as a default.
2895f101
AU
223 <code class="option">end-time</code> must be later than
224 <code class="option">start-time</code>.
16fde7f0
TU
225 </p>
226 </dd>
60a900e8
AU
227<dt><span class="term">-X <em class="replaceable"><code>extended end-time</code></em></span></dt>
228<dd>
16fde7f0 229 <p>
60a900e8
AU
230 Specify the date and time when the generated RRSIG records
231 for the DNSKEY RRset will expire. This is to be used in cases
232 when the DNSKEY signatures need to persist longer than
233 signatures on other records; e.g., when the private component
234 of the KSK is kept offline and the KSK signature is to be
235 refreshed manually.
236 </p>
16fde7f0 237 <p>
60a900e8
AU
238 As with <code class="option">start-time</code>, an absolute
239 time is indicated in YYYYMMDDHHMMSS notation. A time relative
240 to the start time is indicated with +N, which is N seconds from
241 the start time. A time relative to the current time is
242 indicated with now+N. If no <code class="option">extended end-time</code> is
243 specified, the value of <code class="option">end-time</code> is used as
244 the default. (<code class="option">end-time</code>, in turn, defaults to
245 30 days from the start time.) <code class="option">extended end-time</code>
246 must be later than <code class="option">start-time</code>.
247 </p>
16fde7f0 248 </dd>
60e5e10f 249<dt><span class="term">-f <em class="replaceable"><code>output-file</code></em></span></dt>
16fde7f0
TU
250<dd>
251 <p>
60e5e10f
RA
252 The name of the output file containing the signed zone. The
253 default is to append <code class="filename">.signed</code> to
2628293c
AU
254 the input filename. If <code class="option">output-file</code> is
255 set to <code class="literal">"-"</code>, then the signed zone is
256 written to the standard output, with a default output
257 format of "full".
16fde7f0
TU
258 </p>
259 </dd>
60e5e10f 260<dt><span class="term">-h</span></dt>
16fde7f0
TU
261<dd>
262 <p>
60e5e10f 263 Prints a short summary of the options and arguments to
2eeb74d1 264 <span class="command"><strong>dnssec-signzone</strong></span>.
16fde7f0
TU
265 </p>
266 </dd>
6f120589 267<dt><span class="term">-V</span></dt>
16fde7f0
TU
268<dd>
269 <p>
6f120589 270 Prints version information.
16fde7f0
TU
271 </p>
272 </dd>
60e5e10f
RA
273<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
274<dd>
16fde7f0 275 <p>
d71e2e0c 276 When a previously-signed zone is passed as input, records
60e5e10f
RA
277 may be resigned. The <code class="option">interval</code> option
278 specifies the cycle interval as an offset from the current
279 time (in seconds). If a RRSIG record expires after the
280 cycle interval, it is retained. Otherwise, it is considered
281 to be expiring soon, and it will be replaced.
282 </p>
16fde7f0 283 <p>
60e5e10f
RA
284 The default cycle interval is one quarter of the difference
285 between the signature end and start times. So if neither
286 <code class="option">end-time</code> or <code class="option">start-time</code>
2eeb74d1 287 are specified, <span class="command"><strong>dnssec-signzone</strong></span>
60e5e10f
RA
288 generates
289 signatures that are valid for 30 days, with a cycle
290 interval of 7.5 days. Therefore, if any existing RRSIG records
291 are due to expire in less than 7.5 days, they would be
292 replaced.
293 </p>
16fde7f0 294 </dd>
94fc951a 295<dt><span class="term">-I <em class="replaceable"><code>input-format</code></em></span></dt>
16fde7f0
TU
296<dd>
297 <p>
94fc951a 298 The format of the input zone file.
2eeb74d1
TU
299 Possible formats are <span class="command"><strong>"text"</strong></span> (default),
300 <span class="command"><strong>"raw"</strong></span>, and <span class="command"><strong>"map"</strong></span>.
94fc951a
MA
301 This option is primarily intended to be used for dynamic
302 signed zones so that the dumped zone file in a non-text
303 format containing updates can be signed directly.
304 The use of this option does not make much sense for
305 non-dynamic zones.
16fde7f0
TU
306 </p>
307 </dd>
60e5e10f
RA
308<dt><span class="term">-j <em class="replaceable"><code>jitter</code></em></span></dt>
309<dd>
16fde7f0 310 <p>
60e5e10f
RA
311 When signing a zone with a fixed signature lifetime, all
312 RRSIG records issued at the time of signing expires
313 simultaneously. If the zone is incrementally signed, i.e.
d71e2e0c
MA
314 a previously-signed zone is passed as input to the signer,
315 all expired signatures have to be regenerated at about the
60e5e10f
RA
316 same time. The <code class="option">jitter</code> option specifies a
317 jitter window that will be used to randomize the signature
318 expire time, thus spreading incremental signature
319 regeneration over time.
320 </p>
16fde7f0 321 <p>
60e5e10f
RA
322 Signature lifetime jitter also to some extent benefits
323 validators and servers by spreading out cache expiration,
324 i.e. if large numbers of RRSIGs don't expire at the same time
325 from all caches there will be less congestion than if all
326 validators need to refetch at mostly the same time.
327 </p>
16fde7f0 328 </dd>
97e74139 329<dt><span class="term">-L <em class="replaceable"><code>serial</code></em></span></dt>
16fde7f0
TU
330<dd>
331 <p>
43b94483 332 When writing a signed zone to "raw" or "map" format, set the
dba3c818
TU
333 "source serial" value in the header to the specified serial
334 number. (This is expected to be used primarily for testing
335 purposes.)
16fde7f0
TU
336 </p>
337 </dd>
60e5e10f 338<dt><span class="term">-n <em class="replaceable"><code>ncpus</code></em></span></dt>
16fde7f0
TU
339<dd>
340 <p>
60e5e10f
RA
341 Specifies the number of threads to use. By default, one
342 thread is started for each detected CPU.
16fde7f0
TU
343 </p>
344 </dd>
52ece689
MA
345<dt><span class="term">-N <em class="replaceable"><code>soa-serial-format</code></em></span></dt>
346<dd>
16fde7f0 347 <p>
52ece689 348 The SOA serial number format of the signed zone.
2eeb74d1
TU
349 Possible formats are <span class="command"><strong>"keep"</strong></span> (default),
350 <span class="command"><strong>"increment"</strong></span>, <span class="command"><strong>"unixtime"</strong></span>,
351 and <span class="command"><strong>"date"</strong></span>.
352 </p>
16fde7f0
TU
353
354 <div class="variablelist"><dl class="variablelist">
2eeb74d1 355<dt><span class="term"><span class="command"><strong>"keep"</strong></span></span></dt>
16fde7f0
TU
356<dd>
357 <p>Do not modify the SOA serial number.</p>
358 </dd>
2eeb74d1 359<dt><span class="term"><span class="command"><strong>"increment"</strong></span></span></dt>
16fde7f0
TU
360<dd>
361 <p>Increment the SOA serial number using RFC 1982
362 arithmetics.</p>
363 </dd>
2eeb74d1 364<dt><span class="term"><span class="command"><strong>"unixtime"</strong></span></span></dt>
16fde7f0
TU
365<dd>
366 <p>Set the SOA serial number to the number of seconds
367 since epoch.</p>
368 </dd>
2eeb74d1 369<dt><span class="term"><span class="command"><strong>"date"</strong></span></span></dt>
16fde7f0
TU
370<dd>
371 <p>Set the SOA serial number to today's date in
372 YYYYMMDDNN format.</p>
373 </dd>
52ece689 374</dl></div>
16fde7f0
TU
375
376 </dd>
60e5e10f 377<dt><span class="term">-o <em class="replaceable"><code>origin</code></em></span></dt>
16fde7f0
TU
378<dd>
379 <p>
60e5e10f
RA
380 The zone origin. If not specified, the name of the zone file
381 is assumed to be the origin.
16fde7f0
TU
382 </p>
383 </dd>
94fc951a 384<dt><span class="term">-O <em class="replaceable"><code>output-format</code></em></span></dt>
16fde7f0
TU
385<dd>
386 <p>
94fc951a 387 The format of the output file containing the signed zone.
2eeb74d1 388 Possible formats are <span class="command"><strong>"text"</strong></span> (default),
dba3c818 389 which is the standard textual representation of the zone;
2eeb74d1 390 <span class="command"><strong>"full"</strong></span>, which is text output in a
dba3c818 391 format suitable for processing by external scripts;
2eeb74d1
TU
392 and <span class="command"><strong>"map"</strong></span>, <span class="command"><strong>"raw"</strong></span>,
393 and <span class="command"><strong>"raw=N"</strong></span>, which store the zone in
394 binary formats for rapid loading by <span class="command"><strong>named</strong></span>.
395 <span class="command"><strong>"raw=N"</strong></span> specifies the format version of
dba3c818 396 the raw zone file: if N is 0, the raw file can be read by
2eeb74d1 397 any version of <span class="command"><strong>named</strong></span>; if N is 1, the file
dba3c818 398 can be read by release 9.9.0 or higher; the default is 1.
16fde7f0
TU
399 </p>
400 </dd>
62830568
AU
401<dt><span class="term">-P</span></dt>
402<dd>
16fde7f0 403 <p>
62830568
AU
404 Disable post sign verification tests.
405 </p>
16fde7f0 406 <p>
62830568 407 The post sign verification test ensures that for each algorithm
1c51f79a
AU
408 in use there is at least one non revoked self signed KSK key,
409 that all revoked KSK keys are self signed, and that all records
62830568 410 in the zone are signed by the algorithm.
1c51f79a 411 This option skips these tests.
62830568 412 </p>
16fde7f0 413 </dd>
3f9791ea 414<dt><span class="term">-Q</span></dt>
7717ec7a 415<dd>
16fde7f0 416 <p>
3f9791ea 417 Remove signatures from keys that are no longer active.
7717ec7a 418 </p>
16fde7f0 419 <p>
7717ec7a
AU
420 Normally, when a previously-signed zone is passed as input
421 to the signer, and a DNSKEY record has been removed and
9d557856 422 replaced with a new one, signatures from the old key
7717ec7a
AU
423 that are still within their validity period are retained.
424 This allows the zone to continue to validate with cached
3f9791ea 425 copies of the old DNSKEY RRset. The <code class="option">-Q</code>
2eeb74d1 426 forces <span class="command"><strong>dnssec-signzone</strong></span> to remove
3f9791ea
TU
427 signatures from keys that are no longer active. This
428 enables ZSK rollover using the procedure described in
429 RFC 4641, section 4.2.1.1 ("Pre-Publish Key Rollover").
430 </p>
16fde7f0 431 </dd>
3f9791ea
TU
432<dt><span class="term">-R</span></dt>
433<dd>
16fde7f0 434 <p>
3f9791ea
TU
435 Remove signatures from keys that are no longer published.
436 </p>
16fde7f0 437 <p>
3f9791ea 438 This option is similar to <code class="option">-Q</code>, except it
2eeb74d1 439 forces <span class="command"><strong>dnssec-signzone</strong></span> to signatures from
3f9791ea
TU
440 keys that are no longer published. This enables ZSK rollover
441 using the procedure described in RFC 4641, section 4.2.1.2
442 ("Double Signature Zone Signing Key Rollover").
7717ec7a 443 </p>
16fde7f0 444 </dd>
0a7ed886
AU
445<dt><span class="term">-S</span></dt>
446<dd>
16fde7f0 447 <p>
2eeb74d1 448 Smart signing: Instructs <span class="command"><strong>dnssec-signzone</strong></span> to
0a7ed886
AU
449 search the key repository for keys that match the zone being
450 signed, and to include them in the zone if appropriate.
451 </p>
16fde7f0 452 <p>
0a7ed886
AU
453 When a key is found, its timing metadata is examined to
454 determine how it should be used, according to the following
455 rules. Each successive rule takes priority over the prior
456 ones:
457 </p>
16fde7f0 458 <div class="variablelist"><dl class="variablelist">
0a7ed886 459<dt></dt>
16fde7f0
TU
460<dd>
461 <p>
0a7ed886
AU
462 If no timing metadata has been set for the key, the key is
463 published in the zone and used to sign the zone.
16fde7f0
TU
464 </p>
465 </dd>
0a7ed886 466<dt></dt>
16fde7f0
TU
467<dd>
468 <p>
0a7ed886
AU
469 If the key's publication date is set and is in the past, the
470 key is published in the zone.
16fde7f0
TU
471 </p>
472 </dd>
0a7ed886 473<dt></dt>
16fde7f0
TU
474<dd>
475 <p>
0a7ed886
AU
476 If the key's activation date is set and in the past, the
477 key is published (regardless of publication date) and
9d557856 478 used to sign the zone.
16fde7f0
TU
479 </p>
480 </dd>
0a7ed886 481<dt></dt>
16fde7f0
TU
482<dd>
483 <p>
0a7ed886
AU
484 If the key's revocation date is set and in the past, and the
485 key is published, then the key is revoked, and the revoked key
486 is used to sign the zone.
16fde7f0
TU
487 </p>
488 </dd>
0a7ed886 489<dt></dt>
16fde7f0
TU
490<dd>
491 <p>
0a7ed886
AU
492 If either of the key's unpublication or deletion dates are set
493 and in the past, the key is NOT published or used to sign the
494 zone, regardless of any other metadata.
16fde7f0
TU
495 </p>
496 </dd>
208abf3f
TU
497<dt></dt>
498<dd>
499 <p>
500 If key's sync publication date is set and in the past,
501 synchronization records (type CDS and/or CDNSKEY) are
502 created.
503 </p>
504 </dd>
505<dt></dt>
506<dd>
507 <p>
508 If key's sync deletion date is set and in the past,
509 synchronization records (type CDS and/or CDNSKEY) are
510 removed.
511 </p>
512 </dd>
0a7ed886 513</dl></div>
16fde7f0 514 </dd>
0a7ed886 515<dt><span class="term">-T <em class="replaceable"><code>ttl</code></em></span></dt>
16fde7f0
TU
516<dd>
517 <p>
a3f8c8e2
AU
518 Specifies a TTL to be used for new DNSKEY records imported
519 into the zone from the key repository. If not
520 specified, the default is the TTL value from the zone's SOA
2895f101
AU
521 record. This option is ignored when signing without
522 <code class="option">-S</code>, since DNSKEY records are not imported
523 from the key repository in that case. It is also ignored if
524 there are any pre-existing DNSKEY records at the zone apex,
525 in which case new records' TTL values will be set to match
a3f8c8e2
AU
526 them, or if any of the imported DNSKEY records had a default
527 TTL value. In the event of a a conflict between TTL values in
528 imported keys, the shortest one is used.
16fde7f0
TU
529 </p>
530 </dd>
60e5e10f 531<dt><span class="term">-t</span></dt>
16fde7f0
TU
532<dd>
533 <p>
60e5e10f 534 Print statistics at completion.
16fde7f0
TU
535 </p>
536 </dd>
f3d1a0ba 537<dt><span class="term">-u</span></dt>
16fde7f0
TU
538<dd>
539 <p>
f3d1a0ba
AU
540 Update NSEC/NSEC3 chain when re-signing a previously signed
541 zone. With this option, a zone signed with NSEC can be
542 switched to NSEC3, or a zone signed with NSEC3 can
543 be switch to NSEC or to NSEC3 with different parameters.
2eeb74d1 544 Without this option, <span class="command"><strong>dnssec-signzone</strong></span> will
f3d1a0ba 545 retain the existing chain when re-signing.
16fde7f0
TU
546 </p>
547 </dd>
60e5e10f 548<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
16fde7f0
TU
549<dd>
550 <p>
60e5e10f 551 Sets the debugging level.
16fde7f0
TU
552 </p>
553 </dd>
8de0d8a6 554<dt><span class="term">-x</span></dt>
16fde7f0
TU
555<dd>
556 <p>
e3bd90ee
TU
557 Only sign the DNSKEY, CDNSKEY, and CDS RRsets with
558 key-signing keys, and omit signatures from zone-signing
559 keys. (This is similar to the
2eeb74d1
TU
560 <span class="command"><strong>dnssec-dnskey-kskonly yes;</strong></span> zone option in
561 <span class="command"><strong>named</strong></span>.)
16fde7f0
TU
562 </p>
563 </dd>
60e5e10f 564<dt><span class="term">-z</span></dt>
16fde7f0
TU
565<dd>
566 <p>
8de0d8a6
AU
567 Ignore KSK flag on key when determining what to sign. This
568 causes KSK-flagged keys to sign all records, not just the
3b2c6af6 569 DNSKEY RRset. (This is similar to the
2eeb74d1
TU
570 <span class="command"><strong>update-check-ksk no;</strong></span> zone option in
571 <span class="command"><strong>named</strong></span>.)
16fde7f0
TU
572 </p>
573 </dd>
731cc132 574<dt><span class="term">-3 <em class="replaceable"><code>salt</code></em></span></dt>
16fde7f0
TU
575<dd>
576 <p>
66fec059 577 Generate an NSEC3 chain with the given hex encoded salt.
731cc132
AU
578 A dash (<em class="replaceable"><code>salt</code></em>) can
579 be used to indicate that no salt is to be used when generating the NSEC3 chain.
16fde7f0
TU
580 </p>
581 </dd>
731cc132 582<dt><span class="term">-H <em class="replaceable"><code>iterations</code></em></span></dt>
16fde7f0
TU
583<dd>
584 <p>
77b7c54f 585 When generating an NSEC3 chain, use this many iterations. The
66fec059 586 default is 10.
16fde7f0
TU
587 </p>
588 </dd>
731cc132 589<dt><span class="term">-A</span></dt>
f3d1a0ba 590<dd>
16fde7f0 591 <p>
66fec059 592 When generating an NSEC3 chain set the OPTOUT flag on all
731cc132
AU
593 NSEC3 records and do not generate NSEC3 records for insecure
594 delegations.
f3d1a0ba 595 </p>
16fde7f0 596 <p>
f3d1a0ba
AU
597 Using this option twice (i.e., <code class="option">-AA</code>)
598 turns the OPTOUT flag off for all records. This is useful
599 when using the <code class="option">-u</code> option to modify an NSEC3
600 chain which previously had OPTOUT set.
601 </p>
16fde7f0 602 </dd>
60e5e10f 603<dt><span class="term">zonefile</span></dt>
16fde7f0
TU
604<dd>
605 <p>
60e5e10f 606 The file containing the zone to be signed.
16fde7f0
TU
607 </p>
608 </dd>
60e5e10f 609<dt><span class="term">key</span></dt>
16fde7f0
TU
610<dd>
611 <p>
d71e2e0c
MA
612 Specify which keys should be used to sign the zone. If
613 no keys are specified, then the zone will be examined
614 for DNSKEY records at the zone apex. If these are found and
615 there are matching private keys, in the current directory,
616 then these will be used for signing.
16fde7f0
TU
617 </p>
618 </dd>
60e5e10f 619</dl></div>
16fde7f0
TU
620 </div>
621
622 <div class="refsection">
fd2597f7 623<a name="id-1.9"></a><h2>EXAMPLE</h2>
16fde7f0
TU
624
625 <p>
60e5e10f 626 The following command signs the <strong class="userinput"><code>example.com</code></strong>
5bd85525
TU
627 zone with the ECDSAP256SHA256 key generated by key generated by
628 <span class="command"><strong>dnssec-keygen</strong></span> (Kexample.com.+013+17247).
629 Because the <span class="command"><strong>-S</strong></span> option is not being used,
630 the zone's keys must be in the master file
3b2c6af6
AU
631 (<code class="filename">db.example.com</code>). This invocation looks
632 for <code class="filename">dsset</code> files, in the current directory,
2eeb74d1 633 so that DS records can be imported from them (<span class="command"><strong>-g</strong></span>).
60e5e10f 634 </p>
d71e2e0c 635<pre class="programlisting">% dnssec-signzone -g -o example.com db.example.com \
5bd85525 636Kexample.com.+013+17247
d71e2e0c
MA
637db.example.com.signed
638%</pre>
16fde7f0 639 <p>
2eeb74d1 640 In the above example, <span class="command"><strong>dnssec-signzone</strong></span> creates
60e5e10f 641 the file <code class="filename">db.example.com.signed</code>. This
d71e2e0c 642 file should be referenced in a zone statement in a
60e5e10f
RA
643 <code class="filename">named.conf</code> file.
644 </p>
16fde7f0 645 <p>
d71e2e0c
MA
646 This example re-signs a previously signed zone with default parameters.
647 The private keys are assumed to be in the current directory.
648 </p>
649<pre class="programlisting">% cp db.example.com.signed db.example.com
650% dnssec-signzone -o example.com db.example.com
651db.example.com.signed
652%</pre>
16fde7f0
TU
653 </div>
654
655 <div class="refsection">
fd2597f7 656<a name="id-1.10"></a><h2>SEE ALSO</h2>
16fde7f0
TU
657
658 <p><span class="citerefentry">
659 <span class="refentrytitle">dnssec-keygen</span>(8)
660 </span>,
60e5e10f 661 <em class="citetitle">BIND 9 Administrator Reference Manual</em>,
3f9791ea 662 <em class="citetitle">RFC 4033</em>, <em class="citetitle">RFC 4641</em>.
60e5e10f 663 </p>
16fde7f0
TU
664 </div>
665
60e5e10f
RA
666</div></body>
667</html>