man.dnssec-signzone.html revision 1e9517ea2156b990be21f44676d3370318eacf17
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<!--
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen - Copyright (C) 2000-2015 Internet Systems Consortium, Inc. ("ISC")
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen -
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen - This Source Code Form is subject to the terms of the Mozilla Public
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen - License, v. 2.0. If a copy of the MPL was not distributed with this
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen - file, You can obtain one at http://mozilla.org/MPL/2.0/.
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen-->
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<html>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<head>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<title>dnssec-signzone</title>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<link rel="home" href="Bv9ARM.html" title="BIND 9 Administrator Reference Manual">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<link rel="up" href="Bv9ARM.ch13.html" title="Manual pages">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<link rel="prev" href="man.dnssec-settime.html" title="dnssec-settime">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<link rel="next" href="man.dnssec-verify.html" title="dnssec-verify">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen</head>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<div class="navheader">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<table width="100%" summary="Navigation header">
c7b464223e6c8d86096a3ded0dc237e835cf04f3Vladimir Kotal<tr><th colspan="3" align="center"><span class="application">dnssec-signzone</span></th></tr>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<tr>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<td width="20%" align="left">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<a accesskey="p" href="man.dnssec-settime.html">Prev</a>�</td>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<th width="60%" align="center">Manual pages</th>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen<td width="20%" align="right">�<a accesskey="n" href="man.dnssec-verify.html">Next</a>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen</td>
308470174aea8cf0128aa8baf7018c9500f6131cTrond Norbye</tr>
ccfb4896895e9edd53936309153b1540b35a7062Trond Norbye</table>
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen<hr>
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen</div>
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen<div class="refentry">
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen<a name="man.dnssec-signzone"></a><div class="titlepage"></div>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen<div class="refnamediv">
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen<h2>Name</h2>
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen<p><span class="application">dnssec-signzone</span> &#8212; DNSSEC zone signing tool</p>
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen</div>
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen<div class="refsynopsisdiv">
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen<h2>Synopsis</h2>
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen<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">-D</code>] [<code class="option">-E <em class="replaceable"><code>engine</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>directory</code></em></code>] [<code class="option">-k <em class="replaceable"><code>key</code></em></code>] [<code class="option">-L <em class="replaceable"><code>serial</code></em></code>] [<code class="option">-l <em class="replaceable"><code>domain</code></em></code>] [<code class="option">-M <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">-p</code>] [<code class="option">-Q</code>] [<code class="option">-R</code>] [<code class="option">-r <em class="replaceable"><code>randomdev</code></em></code>] [<code class="option">-S</code>] [<code class="option">-s <em class="replaceable"><code>start-time</code></em></code>] [<code class="option">-T <em class="replaceable"><code>ttl</code></em></code>] [<code class="option">-t</code>] [<code class="option">-u</code>] [<code class="option">-v <em class="replaceable"><code>level</code></em></code>] [<code class="option">-V</code>] [<code class="option">-X <em class="replaceable"><code>extended end-time</code></em></code>] [<code class="option">-x</code>] [<code class="option">-z</code>] [<code class="option">-3 <em class="replaceable"><code>salt</code></em></code>] [<code class="option">-H <em class="replaceable"><code>iterations</code></em></code>] [<code class="option">-A</code>] {zonefile} [key...]</p></div>
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen</div>
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen<div class="refsection">
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen<a name="id-1.14.14.7"></a><h2>DESCRIPTION</h2>
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen<p><span class="command"><strong>dnssec-signzone</strong></span>
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen signs a zone. It generates
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen NSEC and RRSIG records and produces a signed version of the
942c8dbffa0065539a9ef9c2ce8877b3d8f068d6Knut Anders Hatlen zone. The security status of delegations from the signed zone
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen (that is, whether the child zones are secure or not) is
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen determined by the presence or absence of a
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen <code class="filename">keyset</code> file for each child zone.
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen </p>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen</div>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<div class="refsection">
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<a name="id-1.14.14.8"></a><h2>OPTIONS</h2>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<div class="variablelist"><dl class="variablelist">
d24a9214dae296ad7917a4a078c7743b6a66ff96Knut Anders Hatlen<dt><span class="term">-a</span></dt>
d24a9214dae296ad7917a4a078c7743b6a66ff96Knut Anders Hatlen<dd><p>
d24a9214dae296ad7917a4a078c7743b6a66ff96Knut Anders Hatlen Verify all generated signatures.
d24a9214dae296ad7917a4a078c7743b6a66ff96Knut Anders Hatlen </p></dd>
4cbb84cb7daca3facdd991121b5a8ec50f1c4b56Knut Anders Hatlen<dt><span class="term">-c <em class="replaceable"><code>class</code></em></span></dt>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<dd><p>
d24a9214dae296ad7917a4a078c7743b6a66ff96Knut Anders Hatlen Specifies the DNS class of the zone.
d24a9214dae296ad7917a4a078c7743b6a66ff96Knut Anders Hatlen </p></dd>
bec01268eaa50afdb2e1b50af4d553d4a5327af4Knut Anders Hatlen<dt><span class="term">-C</span></dt>
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen<dd><p>
3580f8afb664008006cd7106f2e5db9f9e20d566Knut Anders Hatlen Compatibility mode: Generate a
ff5eba819da0cf7964d884630fb13262ef12c505Trond Norbye <code class="filename">keyset-<em class="replaceable"><code>zonename</code></em></code>
ccfb4896895e9edd53936309153b1540b35a7062Trond Norbye file in addition to
3580f8afb664008006cd7106f2e5db9f9e20d566Knut Anders Hatlen <code class="filename">dsset-<em class="replaceable"><code>zonename</code></em></code>
4cbb84cb7daca3facdd991121b5a8ec50f1c4b56Knut Anders Hatlen when signing a zone, for use by older versions of
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen <span class="command"><strong>dnssec-signzone</strong></span>.
3580f8afb664008006cd7106f2e5db9f9e20d566Knut Anders Hatlen </p></dd>
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen<dt><span class="term">-d <em class="replaceable"><code>directory</code></em></span></dt>
1ef6e1cfe57d5dc9b0cd9e824276b3a19105e944Knut Anders Hatlen<dd><p>
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen Look for <code class="filename">dsset-</code> or
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen <code class="filename">keyset-</code> files in <code class="option">directory</code>.
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen </p></dd>
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen<dt><span class="term">-D</span></dt>
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen<dd><p>
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen Output only those record types automatically managed by
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen <span class="command"><strong>dnssec-signzone</strong></span>, i.e. RRSIG, NSEC,
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen NSEC3 and NSEC3PARAM records. If smart signing
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen (<code class="option">-S</code>) is used, DNSKEY records are also
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen included. The resulting file can be included in the original
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen zone file with <span class="command"><strong>$INCLUDE</strong></span>. This option
2e87d0dbfa36805080fca78d8151b6004cd8446eKnut Anders Hatlen cannot be combined with <code class="option">-O raw</code>,
1ef6e1cfe57d5dc9b0cd9e824276b3a19105e944Knut Anders Hatlen <code class="option">-O map</code>, or serial number updating.
302118fb827d32e9106cef0b68070de57084c5d3Knut Anders Hatlen </p></dd>
302118fb827d32e9106cef0b68070de57084c5d3Knut Anders Hatlen<dt><span class="term">-E <em class="replaceable"><code>engine</code></em></span></dt>
302118fb827d32e9106cef0b68070de57084c5d3Knut Anders Hatlen<dd>
302118fb827d32e9106cef0b68070de57084c5d3Knut Anders Hatlen<p>
302118fb827d32e9106cef0b68070de57084c5d3Knut Anders Hatlen When applicable, specifies the hardware to use for
1ef6e1cfe57d5dc9b0cd9e824276b3a19105e944Knut Anders Hatlen cryptographic operations, such as a secure key store used
302118fb827d32e9106cef0b68070de57084c5d3Knut Anders Hatlen for signing.
c1dbb9010d910ca33e270c316ae2b29087dd363eKnut Anders Hatlen </p>
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen<p>
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen When BIND is built with OpenSSL PKCS#11 support, this defaults
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen to the string "pkcs11", which identifies an OpenSSL engine
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen that can drive a cryptographic accelerator or hardware service
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen module. When BIND is built with native PKCS#11 cryptography
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen (--enable-native-pkcs11), it defaults to the path of the PKCS#11
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen provider library specified via "--with-pkcs11".
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen </p>
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen</dd>
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen<dt><span class="term">-g</span></dt>
3847b804ccccc0056765e3fb09cd5dfdae277f74Knut Anders Hatlen<dd><p>
f4216ce32e4859fd256a197d10d19a0fdb9f468cKnut Anders Hatlen Generate DS records for child zones from
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen <code class="filename">dsset-</code> or <code class="filename">keyset-</code>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen file. Existing DS records will be removed.
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen </p></dd>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen<dt><span class="term">-K <em class="replaceable"><code>directory</code></em></span></dt>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen<dd><p>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen Key repository: Specify a directory to search for DNSSEC keys.
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen If not specified, defaults to the current directory.
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen </p></dd>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen<dt><span class="term">-k <em class="replaceable"><code>key</code></em></span></dt>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen<dd><p>
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen Treat specified key as a key signing key ignoring any
294f126b656980ac28642f891316aa0456259f63Knut Anders Hatlen key flags. This option may be specified multiple times.
e86a65c17e246162f3a09c4ce48c849cfb21d284Knut Anders Hatlen </p></dd>
e86a65c17e246162f3a09c4ce48c849cfb21d284Knut Anders Hatlen<dt><span class="term">-l <em class="replaceable"><code>domain</code></em></span></dt>
e86a65c17e246162f3a09c4ce48c849cfb21d284Knut Anders Hatlen<dd><p>
e86a65c17e246162f3a09c4ce48c849cfb21d284Knut Anders Hatlen Generate a DLV set in addition to the key (DNSKEY) and DS sets.
e86a65c17e246162f3a09c4ce48c849cfb21d284Knut Anders Hatlen The domain is appended to the name of the records.
e86a65c17e246162f3a09c4ce48c849cfb21d284Knut Anders Hatlen </p></dd>
e86a65c17e246162f3a09c4ce48c849cfb21d284Knut Anders Hatlen<dt><span class="term">-M <em class="replaceable"><code>maxttl</code></em></span></dt>
e86a65c17e246162f3a09c4ce48c849cfb21d284Knut Anders Hatlen<dd><p>
f4216ce32e4859fd256a197d10d19a0fdb9f468cKnut Anders Hatlen Sets the maximum TTL for the signed zone.
f4216ce32e4859fd256a197d10d19a0fdb9f468cKnut Anders Hatlen Any TTL higher than <em class="replaceable"><code>maxttl</code></em> in the
f4216ce32e4859fd256a197d10d19a0fdb9f468cKnut Anders Hatlen input zone will be reduced to <em class="replaceable"><code>maxttl</code></em>
f4216ce32e4859fd256a197d10d19a0fdb9f468cKnut Anders Hatlen in the output. This provides certainty as to the largest
f4216ce32e4859fd256a197d10d19a0fdb9f468cKnut Anders Hatlen possible TTL in the signed zone, which is useful to know when
f4216ce32e4859fd256a197d10d19a0fdb9f468cKnut Anders Hatlen rolling keys because it is the longest possible time before
f4216ce32e4859fd256a197d10d19a0fdb9f468cKnut Anders Hatlen signatures that have been retrieved by resolvers will expire
c7b464223e6c8d86096a3ded0dc237e835cf04f3Vladimir Kotal from resolver caches. Zones that are signed with this
c7b464223e6c8d86096a3ded0dc237e835cf04f3Vladimir Kotal option should be configured to use a matching
c7b464223e6c8d86096a3ded0dc237e835cf04f3Vladimir Kotal <code class="option">max-zone-ttl</code> in <code class="filename">named.conf</code>.
c7b464223e6c8d86096a3ded0dc237e835cf04f3Vladimir Kotal (Note: This option is incompatible with <code class="option">-D</code>,
ebb9f739bca3bc9382340b628554b484e4837d6aKnut Anders Hatlen because it modifies non-DNSSEC data in the output zone.)
</p></dd>
<dt><span class="term">-s <em class="replaceable"><code>start-time</code></em></span></dt>
<dd><p>
Specify the date and time when the generated RRSIG records
become valid. This can be either an absolute or relative
time. An absolute start time is indicated by a number
in YYYYMMDDHHMMSS notation; 20000530144500 denotes
14:45:00 UTC on May 30th, 2000. A relative start time is
indicated by +N, which is N seconds from the current time.
If no <code class="option">start-time</code> is specified, the current
time minus 1 hour (to allow for clock skew) is used.
</p></dd>
<dt><span class="term">-e <em class="replaceable"><code>end-time</code></em></span></dt>
<dd><p>
Specify the date and time when the generated RRSIG records
expire. As with <code class="option">start-time</code>, an absolute
time is indicated in YYYYMMDDHHMMSS notation. A time relative
to the start time is indicated with +N, which is N seconds from
the start time. A time relative to the current time is
indicated with now+N. If no <code class="option">end-time</code> is
specified, 30 days from the start time is used as a default.
<code class="option">end-time</code> must be later than
<code class="option">start-time</code>.
</p></dd>
<dt><span class="term">-X <em class="replaceable"><code>extended end-time</code></em></span></dt>
<dd>
<p>
Specify the date and time when the generated RRSIG records
for the DNSKEY RRset will expire. This is to be used in cases
when the DNSKEY signatures need to persist longer than
signatures on other records; e.g., when the private component
of the KSK is kept offline and the KSK signature is to be
refreshed manually.
</p>
<p>
As with <code class="option">start-time</code>, an absolute
time is indicated in YYYYMMDDHHMMSS notation. A time relative
to the start time is indicated with +N, which is N seconds from
the start time. A time relative to the current time is
indicated with now+N. If no <code class="option">extended end-time</code> is
specified, the value of <code class="option">end-time</code> is used as
the default. (<code class="option">end-time</code>, in turn, defaults to
30 days from the start time.) <code class="option">extended end-time</code>
must be later than <code class="option">start-time</code>.
</p>
</dd>
<dt><span class="term">-f <em class="replaceable"><code>output-file</code></em></span></dt>
<dd><p>
The name of the output file containing the signed zone. The
default is to append <code class="filename">.signed</code> to
the input filename. If <code class="option">output-file</code> is
set to <code class="literal">"-"</code>, then the signed zone is
written to the standard output, with a default output
format of "full".
</p></dd>
<dt><span class="term">-h</span></dt>
<dd><p>
Prints a short summary of the options and arguments to
<span class="command"><strong>dnssec-signzone</strong></span>.
</p></dd>
<dt><span class="term">-V</span></dt>
<dd><p>
Prints version information.
</p></dd>
<dt><span class="term">-i <em class="replaceable"><code>interval</code></em></span></dt>
<dd>
<p>
When a previously-signed zone is passed as input, records
may be resigned. The <code class="option">interval</code> option
specifies the cycle interval as an offset from the current
time (in seconds). If a RRSIG record expires after the
cycle interval, it is retained. Otherwise, it is considered
to be expiring soon, and it will be replaced.
</p>
<p>
The default cycle interval is one quarter of the difference
between the signature end and start times. So if neither
<code class="option">end-time</code> or <code class="option">start-time</code>
are specified, <span class="command"><strong>dnssec-signzone</strong></span>
generates
signatures that are valid for 30 days, with a cycle
interval of 7.5 days. Therefore, if any existing RRSIG records
are due to expire in less than 7.5 days, they would be
replaced.
</p>
</dd>
<dt><span class="term">-I <em class="replaceable"><code>input-format</code></em></span></dt>
<dd><p>
The format of the input zone file.
Possible formats are <span class="command"><strong>"text"</strong></span> (default),
<span class="command"><strong>"raw"</strong></span>, and <span class="command"><strong>"map"</strong></span>.
This option is primarily intended to be used for dynamic
signed zones so that the dumped zone file in a non-text
format containing updates can be signed directly.
The use of this option does not make much sense for
non-dynamic zones.
</p></dd>
<dt><span class="term">-j <em class="replaceable"><code>jitter</code></em></span></dt>
<dd>
<p>
When signing a zone with a fixed signature lifetime, all
RRSIG records issued at the time of signing expires
simultaneously. If the zone is incrementally signed, i.e.
a previously-signed zone is passed as input to the signer,
all expired signatures have to be regenerated at about the
same time. The <code class="option">jitter</code> option specifies a
jitter window that will be used to randomize the signature
expire time, thus spreading incremental signature
regeneration over time.
</p>
<p>
Signature lifetime jitter also to some extent benefits
validators and servers by spreading out cache expiration,
i.e. if large numbers of RRSIGs don't expire at the same time
from all caches there will be less congestion than if all
validators need to refetch at mostly the same time.
</p>
</dd>
<dt><span class="term">-L <em class="replaceable"><code>serial</code></em></span></dt>
<dd><p>
When writing a signed zone to "raw" or "map" format, set the
"source serial" value in the header to the specified serial
number. (This is expected to be used primarily for testing
purposes.)
</p></dd>
<dt><span class="term">-n <em class="replaceable"><code>ncpus</code></em></span></dt>
<dd><p>
Specifies the number of threads to use. By default, one
thread is started for each detected CPU.
</p></dd>
<dt><span class="term">-N <em class="replaceable"><code>soa-serial-format</code></em></span></dt>
<dd>
<p>
The SOA serial number format of the signed zone.
Possible formats are <span class="command"><strong>"keep"</strong></span> (default),
<span class="command"><strong>"increment"</strong></span>, <span class="command"><strong>"unixtime"</strong></span>,
and <span class="command"><strong>"date"</strong></span>.
</p>
<div class="variablelist"><dl class="variablelist">
<dt><span class="term"><span class="command"><strong>"keep"</strong></span></span></dt>
<dd><p>Do not modify the SOA serial number.</p></dd>
<dt><span class="term"><span class="command"><strong>"increment"</strong></span></span></dt>
<dd><p>Increment the SOA serial number using RFC 1982
arithmetics.</p></dd>
<dt><span class="term"><span class="command"><strong>"unixtime"</strong></span></span></dt>
<dd><p>Set the SOA serial number to the number of seconds
since epoch.</p></dd>
<dt><span class="term"><span class="command"><strong>"date"</strong></span></span></dt>
<dd><p>Set the SOA serial number to today's date in
YYYYMMDDNN format.</p></dd>
</dl></div>
</dd>
<dt><span class="term">-o <em class="replaceable"><code>origin</code></em></span></dt>
<dd><p>
The zone origin. If not specified, the name of the zone file
is assumed to be the origin.
</p></dd>
<dt><span class="term">-O <em class="replaceable"><code>output-format</code></em></span></dt>
<dd><p>
The format of the output file containing the signed zone.
Possible formats are <span class="command"><strong>"text"</strong></span> (default),
which is the standard textual representation of the zone;
<span class="command"><strong>"full"</strong></span>, which is text output in a
format suitable for processing by external scripts;
and <span class="command"><strong>"map"</strong></span>, <span class="command"><strong>"raw"</strong></span>,
and <span class="command"><strong>"raw=N"</strong></span>, which store the zone in
binary formats for rapid loading by <span class="command"><strong>named</strong></span>.
<span class="command"><strong>"raw=N"</strong></span> specifies the format version of
the raw zone file: if N is 0, the raw file can be read by
any version of <span class="command"><strong>named</strong></span>; if N is 1, the file
can be read by release 9.9.0 or higher; the default is 1.
</p></dd>
<dt><span class="term">-p</span></dt>
<dd><p>
Use pseudo-random data when signing the zone. This is faster,
but less secure, than using real random data. This option
may be useful when signing large zones or when the entropy
source is limited.
</p></dd>
<dt><span class="term">-P</span></dt>
<dd>
<p>
Disable post sign verification tests.
</p>
<p>
The post sign verification test ensures that for each algorithm
in use there is at least one non revoked self signed KSK key,
that all revoked KSK keys are self signed, and that all records
in the zone are signed by the algorithm.
This option skips these tests.
</p>
</dd>
<dt><span class="term">-Q</span></dt>
<dd>
<p>
Remove signatures from keys that are no longer active.
</p>
<p>
Normally, when a previously-signed zone is passed as input
to the signer, and a DNSKEY record has been removed and
replaced with a new one, signatures from the old key
that are still within their validity period are retained.
This allows the zone to continue to validate with cached
copies of the old DNSKEY RRset. The <code class="option">-Q</code>
forces <span class="command"><strong>dnssec-signzone</strong></span> to remove
signatures from keys that are no longer active. This
enables ZSK rollover using the procedure described in
RFC 4641, section 4.2.1.1 ("Pre-Publish Key Rollover").
</p>
</dd>
<dt><span class="term">-R</span></dt>
<dd>
<p>
Remove signatures from keys that are no longer published.
</p>
<p>
This option is similar to <code class="option">-Q</code>, except it
forces <span class="command"><strong>dnssec-signzone</strong></span> to signatures from
keys that are no longer published. This enables ZSK rollover
using the procedure described in RFC 4641, section 4.2.1.2
("Double Signature Zone Signing Key Rollover").
</p>
</dd>
<dt><span class="term">-r <em class="replaceable"><code>randomdev</code></em></span></dt>
<dd><p>
Specifies the source of randomness. If the operating
system does not provide a <code class="filename">/dev/random</code>
or equivalent device, the default source of randomness
is keyboard input. <code class="filename">randomdev</code>
specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
<code class="filename">keyboard</code> indicates that keyboard
input should be used.
</p></dd>
<dt><span class="term">-S</span></dt>
<dd>
<p>
Smart signing: Instructs <span class="command"><strong>dnssec-signzone</strong></span> to
search the key repository for keys that match the zone being
signed, and to include them in the zone if appropriate.
</p>
<p>
When a key is found, its timing metadata is examined to
determine how it should be used, according to the following
rules. Each successive rule takes priority over the prior
ones:
</p>
<div class="variablelist"><dl class="variablelist">
<dt></dt>
<dd><p>
If no timing metadata has been set for the key, the key is
published in the zone and used to sign the zone.
</p></dd>
<dt></dt>
<dd><p>
If the key's publication date is set and is in the past, the
key is published in the zone.
</p></dd>
<dt></dt>
<dd><p>
If the key's activation date is set and in the past, the
key is published (regardless of publication date) and
used to sign the zone.
</p></dd>
<dt></dt>
<dd><p>
If the key's revocation date is set and in the past, and the
key is published, then the key is revoked, and the revoked key
is used to sign the zone.
</p></dd>
<dt></dt>
<dd><p>
If either of the key's unpublication or deletion dates are set
and in the past, the key is NOT published or used to sign the
zone, regardless of any other metadata.
</p></dd>
</dl></div>
</dd>
<dt><span class="term">-T <em class="replaceable"><code>ttl</code></em></span></dt>
<dd><p>
Specifies a TTL to be used for new DNSKEY records imported
into the zone from the key repository. If not
specified, the default is the TTL value from the zone's SOA
record. This option is ignored when signing without
<code class="option">-S</code>, since DNSKEY records are not imported
from the key repository in that case. It is also ignored if
there are any pre-existing DNSKEY records at the zone apex,
in which case new records' TTL values will be set to match
them, or if any of the imported DNSKEY records had a default
TTL value. In the event of a a conflict between TTL values in
imported keys, the shortest one is used.
</p></dd>
<dt><span class="term">-t</span></dt>
<dd><p>
Print statistics at completion.
</p></dd>
<dt><span class="term">-u</span></dt>
<dd><p>
Update NSEC/NSEC3 chain when re-signing a previously signed
zone. With this option, a zone signed with NSEC can be
switched to NSEC3, or a zone signed with NSEC3 can
be switch to NSEC or to NSEC3 with different parameters.
Without this option, <span class="command"><strong>dnssec-signzone</strong></span> will
retain the existing chain when re-signing.
</p></dd>
<dt><span class="term">-v <em class="replaceable"><code>level</code></em></span></dt>
<dd><p>
Sets the debugging level.
</p></dd>
<dt><span class="term">-x</span></dt>
<dd><p>
Only sign the DNSKEY RRset with key-signing keys, and omit
signatures from zone-signing keys. (This is similar to the
<span class="command"><strong>dnssec-dnskey-kskonly yes;</strong></span> zone option in
<span class="command"><strong>named</strong></span>.)
</p></dd>
<dt><span class="term">-z</span></dt>
<dd><p>
Ignore KSK flag on key when determining what to sign. This
causes KSK-flagged keys to sign all records, not just the
DNSKEY RRset. (This is similar to the
<span class="command"><strong>update-check-ksk no;</strong></span> zone option in
<span class="command"><strong>named</strong></span>.)
</p></dd>
<dt><span class="term">-3 <em class="replaceable"><code>salt</code></em></span></dt>
<dd><p>
Generate an NSEC3 chain with the given hex encoded salt.
A dash (<em class="replaceable"><code>salt</code></em>) can
be used to indicate that no salt is to be used when generating the NSEC3 chain.
</p></dd>
<dt><span class="term">-H <em class="replaceable"><code>iterations</code></em></span></dt>
<dd><p>
When generating an NSEC3 chain, use this many iterations. The
default is 10.
</p></dd>
<dt><span class="term">-A</span></dt>
<dd>
<p>
When generating an NSEC3 chain set the OPTOUT flag on all
NSEC3 records and do not generate NSEC3 records for insecure
delegations.
</p>
<p>
Using this option twice (i.e., <code class="option">-AA</code>)
turns the OPTOUT flag off for all records. This is useful
when using the <code class="option">-u</code> option to modify an NSEC3
chain which previously had OPTOUT set.
</p>
</dd>
<dt><span class="term">zonefile</span></dt>
<dd><p>
The file containing the zone to be signed.
</p></dd>
<dt><span class="term">key</span></dt>
<dd><p>
Specify which keys should be used to sign the zone. If
no keys are specified, then the zone will be examined
for DNSKEY records at the zone apex. If these are found and
there are matching private keys, in the current directory,
then these will be used for signing.
</p></dd>
</dl></div>
</div>
<div class="refsection">
<a name="id-1.14.14.9"></a><h2>EXAMPLE</h2>
<p>
The following command signs the <strong class="userinput"><code>example.com</code></strong>
zone with the DSA key generated by <span class="command"><strong>dnssec-keygen</strong></span>
(Kexample.com.+003+17247). Because the <span class="command"><strong>-S</strong></span> option
is not being used, the zone's keys must be in the master file
(<code class="filename">db.example.com</code>). This invocation looks
for <code class="filename">dsset</code> files, in the current directory,
so that DS records can be imported from them (<span class="command"><strong>-g</strong></span>).
</p>
<pre class="programlisting">% dnssec-signzone -g -o example.com db.example.com \
Kexample.com.+003+17247
db.example.com.signed
%</pre>
<p>
In the above example, <span class="command"><strong>dnssec-signzone</strong></span> creates
the file <code class="filename">db.example.com.signed</code>. This
file should be referenced in a zone statement in a
<code class="filename">named.conf</code> file.
</p>
<p>
This example re-signs a previously signed zone with default parameters.
The private keys are assumed to be in the current directory.
</p>
<pre class="programlisting">% cp db.example.com.signed db.example.com
% dnssec-signzone -o example.com db.example.com
db.example.com.signed
%</pre>
</div>
<div class="refsection">
<a name="id-1.14.14.10"></a><h2>SEE ALSO</h2>
<p><span class="citerefentry"><span class="refentrytitle">dnssec-keygen</span>(8)</span>,
<em class="citetitle">BIND 9 Administrator Reference Manual</em>,
<em class="citetitle">RFC 4033</em>, <em class="citetitle">RFC 4641</em>.
</p>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="man.dnssec-settime.html">Prev</a>�</td>
<td width="20%" align="center"><a accesskey="u" href="Bv9ARM.ch13.html">Up</a></td>
<td width="40%" align="right">�<a accesskey="n" href="man.dnssec-verify.html">Next</a>
</td>
</tr>
<tr>
<td width="40%" align="left" valign="top">
<span class="application">dnssec-settime</span>�</td>
<td width="20%" align="center"><a accesskey="h" href="Bv9ARM.html">Home</a></td>
<td width="40%" align="right" valign="top">�<span class="application">dnssec-verify</span>
</td>
</tr>
</table>
</div>
<p xmlns:db="http://docbook.org/ns/docbook" style="text-align: center;">BIND 9.11.0b3</p>
</body>
</html>