Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
BIND
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
591
Issues
591
List
Boards
Labels
Service Desk
Milestones
Merge Requests
113
Merge Requests
113
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ISC Open Source Projects
BIND
Commits
57ed0bab
Commit
57ed0bab
authored
May 03, 2005
by
Rob Austein
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1852. [cleanup] Remove dnssec-signkey and dnssec-makekeyset
parent
d42de116
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
3 additions
and
2402 deletions
+3
-2402
CHANGES
CHANGES
+3
-0
bin/dnssec/dnssec-makekeyset.8
bin/dnssec/dnssec-makekeyset.8
+0
-113
bin/dnssec/dnssec-makekeyset.c
bin/dnssec/dnssec-makekeyset.c
+0
-425
bin/dnssec/dnssec-makekeyset.docbook
bin/dnssec/dnssec-makekeyset.docbook
+0
-233
bin/dnssec/dnssec-makekeyset.html
bin/dnssec/dnssec-makekeyset.html
+0
-407
bin/dnssec/dnssec-signkey.8
bin/dnssec/dnssec-signkey.8
+0
-108
bin/dnssec/dnssec-signkey.c
bin/dnssec/dnssec-signkey.c
+0
-472
bin/dnssec/dnssec-signkey.docbook
bin/dnssec/dnssec-signkey.docbook
+0
-237
bin/dnssec/dnssec-signkey.html
bin/dnssec/dnssec-signkey.html
+0
-407
No files found.
CHANGES
View file @
57ed0bab
1852. [cleanup] Remove last vestiges of dnssec-signkey and
dnssec-makekeyset (removed from Makefile years ago).
1851. [doc] Doxygen comment markup. [RT #11398]
1850. [bug] Memory leak in lwres_getipnodebyaddr(). [RT #14591]
...
...
bin/dnssec/dnssec-makekeyset.8
deleted
100644 → 0
View file @
d42de116
.\" Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
.\" Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
.\"
.\" Permission to use, copy, modify, and distribute this software for any
.\" purpose with or without fee is hereby granted, provided that the above
.\" copyright notice and this permission notice appear in all copies.
.\"
.\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
.\" AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-makekeyset.8,v 1.19 2005/04/07 03:49:56 marka Exp $
.\"
.TH "DNSSEC-MAKEKEYSET" "8" "June 30, 2000" "BIND9" ""
.SH NAME
dnssec-makekeyset \- DNSSEC zone signing tool
.SH SYNOPSIS
.sp
\fBdnssec-makekeyset\fR [ \fB-a\fR ] [ \fB-s \fIstart-time\fB\fR ] [ \fB-e \fIend-time\fB\fR ] [ \fB-h\fR ] [ \fB-p\fR ] [ \fB-r \fIrandomdev\fB\fR ] [ \fB-t\fIttl\fB\fR ] [ \fB-v \fIlevel\fB\fR ] \fBkey\fR\fI...\fR
.SH "DESCRIPTION"
.PP
\fBdnssec-makekeyset\fR generates a key set from one
or more keys created by \fBdnssec-keygen\fR. It creates
a file containing a KEY record for each key, and self-signs the key
set with each zone key. The output file is of the form
\fIkeyset-nnnn.\fR, where \fInnnn\fR
is the zone name.
.SH "OPTIONS"
.TP
\fB-a\fR
Verify all generated signatures.
.TP
\fB-s \fIstart-time\fB\fR
Specify the date and time when the generated SIG 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 \fBstart-time\fR is specified, the current
time is used.
.TP
\fB-e \fIend-time\fB\fR
Specify the date and time when the generated SIG records
expire. As with \fBstart-time\fR, 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 realtive to the current time is
indicated with now+N. If no \fBend-time\fR is
specified, 30 days from the start time is used as a default.
.TP
\fB-h\fR
Prints a short summary of the options and arguments to
\fBdnssec-makekeyset\fR.
.TP
\fB-p\fR
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.
.TP
\fB-r \fIrandomdev\fB\fR
Specifies the source of randomness. If the operating
system does not provide a \fI/dev/random\fR
or equivalent device, the default source of randomness
is keyboard input. \fIrandomdev\fR specifies
the name of a character device or file containing random
data to be used instead of the default. The special value
\fIkeyboard\fR indicates that keyboard
input should be used.
.TP
\fB-t \fIttl\fB\fR
Specify the TTL (time to live) of the KEY and SIG records.
The default is 3600 seconds.
.TP
\fB-v \fIlevel\fB\fR
Sets the debugging level.
.TP
\fBkey\fR
The list of keys to be included in the keyset file. These keys
are expressed in the form \fIKnnnn.+aaa+iiiii\fR
as generated by \fBdnssec-keygen\fR.
.SH "EXAMPLE"
.PP
The following command generates a keyset containing the DSA key for
\fBexample.com\fR generated in the
\fBdnssec-keygen\fR man page.
.PP
\fBdnssec-makekeyset -t 86400 -s 20000701120000 -e +2592000 Kexample.com.+003+26160\fR
.PP
In this example, \fBdnssec-makekeyset\fR creates
the file \fIkeyset-example.com.\fR. This file
contains the specified key and a self-generated signature.
.PP
The DNS administrator for \fBexample.com\fR could
send \fIkeyset-example.com.\fR to the DNS
administrator for \fB.com\fR for signing, if the
\&.com zone is DNSSEC-aware and the administrators of the two zones
have some mechanism for authenticating each other and exchanging
the keys and signatures securely.
.SH "SEE ALSO"
.PP
\fBdnssec-keygen\fR(8),
\fBdnssec-signkey\fR(8),
\fIBIND 9 Administrator Reference Manual\fR,
\fIRFC 2535\fR.
.SH "AUTHOR"
.PP
Internet Software Consortium
bin/dnssec/dnssec-makekeyset.c
deleted
100644 → 0
View file @
d42de116
/*
* Portions Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
* Portions Copyright (C) 2000-2003 Internet Software Consortium.
* Portions Copyright (C) 1995-2000 by Network Associates, Inc.
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC AND NETWORK ASSOCIATES DISCLAIMS
* ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE
* FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
* IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: dnssec-makekeyset.c,v 1.65 2005/04/29 00:22:25 marka Exp $ */
/*! \file */
/**
* \brief dnssec-makekeyset - DNSSEC zone signing tool
*
* \section dnssec-makekeyset-synopsis SYNOPSIS
* \par
* dnssec-makekeyset [ -a ] [ -s start-time ] [ -e end-time ] [ -h ] [
* -p ] [ -r randomdev ] [ -tttl ] [ -v level ] key...
*
* \section dnssec-makekeyset-description DESCRIPTION
* \par
* dnssec-makekeyset generates a key set from one or more keys created by
* dnssec-keygen. It creates a file containing a KEY record for each key,
* and self-signs the key set with each zone key. The output file is of
* the form keyset-nnnn., where nnnn is the zone name.
*
* \link org.isc.doc.0037 More ... \endlink
*/
/** \page org.isc.doc.0037 dnssec-makekeyset
* \htmlinclude org.isc.doc.0037.html
*/
#include <config.h>
#include <stdlib.h>
#include <isc/commandline.h>
#include <isc/entropy.h>
#include <isc/mem.h>
#include <isc/print.h>
#include <isc/string.h>
#include <isc/util.h>
#include <dns/db.h>
#include <dns/diff.h>
#include <dns/dnssec.h>
#include <dns/fixedname.h>
#include <dns/log.h>
#include <dns/rdata.h>
#include <dns/rdataset.h>
#include <dns/result.h>
#include <dns/secalg.h>
#include <dns/time.h>
#include <dst/dst.h>
#include "dnssectool.h"
const
char
*
program
=
"dnssec-makekeyset"
;
int
verbose
;
typedef
struct
keynode
keynode_t
;
struct
keynode
{
dst_key_t
*
key
;
ISC_LINK
(
keynode_t
)
link
;
};
typedef
ISC_LIST
(
keynode_t
)
keylist_t
;
static
isc_stdtime_t
starttime
=
0
,
endtime
=
0
,
now
;
static
int
ttl
=
-
1
;
static
isc_mem_t
*
mctx
=
NULL
;
static
isc_entropy_t
*
ectx
=
NULL
;
static
keylist_t
keylist
;
static
void
usage
(
void
)
{
fprintf
(
stderr
,
"Usage:
\n
"
);
fprintf
(
stderr
,
"
\t
%s [options] keys
\n
"
,
program
);
fprintf
(
stderr
,
"
\n
"
);
fprintf
(
stderr
,
"Version: %s
\n
"
,
VERSION
);
fprintf
(
stderr
,
"Options: (default value in parenthesis)
\n
"
);
fprintf
(
stderr
,
"
\t
-a
\n
"
);
fprintf
(
stderr
,
"
\t\t
verify generated signatures
\n
"
);
fprintf
(
stderr
,
"
\t
-s YYYYMMDDHHMMSS|+offset:
\n
"
);
fprintf
(
stderr
,
"
\t\t
SIG start time - absolute|offset (now)
\n
"
);
fprintf
(
stderr
,
"
\t
-e YYYYMMDDHHMMSS|+offset|
\"
now
\"
+offset]:
\n
"
);
fprintf
(
stderr
,
"
\t\t
SIG end time - "
"absolute|from start|from now (now + 30 days)
\n
"
);
fprintf
(
stderr
,
"
\t
-t ttl
\n
"
);
fprintf
(
stderr
,
"
\t
-p
\n
"
);
fprintf
(
stderr
,
"
\t\t
use pseudorandom data (faster but less secure)
\n
"
);
fprintf
(
stderr
,
"
\t
-r randomdev:
\n
"
);
fprintf
(
stderr
,
"
\t\t
a file containing random data
\n
"
);
fprintf
(
stderr
,
"
\t
-v level:
\n
"
);
fprintf
(
stderr
,
"
\t\t
verbose level (0)
\n
"
);
fprintf
(
stderr
,
"
\n
"
);
fprintf
(
stderr
,
"keys:
\n
"
);
fprintf
(
stderr
,
"
\t
keyfile (Kname+alg+tag)
\n
"
);
fprintf
(
stderr
,
"
\n
"
);
fprintf
(
stderr
,
"Output:
\n
"
);
fprintf
(
stderr
,
"
\t
keyset (keyset-<name>)
\n
"
);
exit
(
0
);
}
static
isc_boolean_t
zonekey_on_list
(
dst_key_t
*
key
)
{
keynode_t
*
keynode
;
for
(
keynode
=
ISC_LIST_HEAD
(
keylist
);
keynode
!=
NULL
;
keynode
=
ISC_LIST_NEXT
(
keynode
,
link
))
{
if
(
dst_key_compare
(
keynode
->
key
,
key
))
return
(
ISC_TRUE
);
}
return
(
ISC_FALSE
);
}
int
main
(
int
argc
,
char
*
argv
[])
{
int
i
,
ch
;
char
*
startstr
=
NULL
,
*
endstr
=
NULL
;
dns_fixedname_t
fdomain
;
dns_name_t
*
domain
=
NULL
;
char
*
output
=
NULL
;
char
*
endp
;
unsigned
char
data
[
65536
];
dns_db_t
*
db
;
dns_dbversion_t
*
version
;
dns_diff_t
diff
;
dns_difftuple_t
*
tuple
;
dns_fixedname_t
tname
;
dst_key_t
*
key
=
NULL
;
dns_rdata_t
rdata
=
DNS_RDATA_INIT
;
dns_rdataset_t
rdataset
;
dns_rdataclass_t
rdclass
;
isc_result_t
result
;
isc_buffer_t
b
;
isc_region_t
r
;
isc_log_t
*
log
=
NULL
;
keynode_t
*
keynode
;
unsigned
int
eflags
;
isc_boolean_t
pseudorandom
=
ISC_FALSE
;
isc_boolean_t
tryverify
=
ISC_FALSE
;
result
=
isc_mem_create
(
0
,
0
,
&
mctx
);
if
(
result
!=
ISC_R_SUCCESS
)
fatal
(
"failed to create memory context: %s"
,
isc_result_totext
(
result
));
dns_result_register
();
while
((
ch
=
isc_commandline_parse
(
argc
,
argv
,
"as:e:t:r:v:ph"
))
!=
-
1
)
{
switch
(
ch
)
{
case
'a'
:
tryverify
=
ISC_TRUE
;
break
;
case
's'
:
startstr
=
isc_commandline_argument
;
break
;
case
'e'
:
endstr
=
isc_commandline_argument
;
break
;
case
't'
:
endp
=
NULL
;
ttl
=
strtol
(
isc_commandline_argument
,
&
endp
,
0
);
if
(
*
endp
!=
'\0'
)
fatal
(
"TTL must be numeric"
);
break
;
case
'r'
:
setup_entropy
(
mctx
,
isc_commandline_argument
,
&
ectx
);
break
;
case
'v'
:
endp
=
NULL
;
verbose
=
strtol
(
isc_commandline_argument
,
&
endp
,
0
);
if
(
*
endp
!=
'\0'
)
fatal
(
"verbose level must be numeric"
);
break
;
case
'p'
:
pseudorandom
=
ISC_TRUE
;
break
;
case
'h'
:
default:
usage
();
}
}
argc
-=
isc_commandline_index
;
argv
+=
isc_commandline_index
;
if
(
argc
<
1
)
usage
();
if
(
ectx
==
NULL
)
setup_entropy
(
mctx
,
NULL
,
&
ectx
);
eflags
=
ISC_ENTROPY_BLOCKING
;
if
(
!
pseudorandom
)
eflags
|=
ISC_ENTROPY_GOODONLY
;
result
=
dst_lib_init
(
mctx
,
ectx
,
eflags
);
if
(
result
!=
ISC_R_SUCCESS
)
fatal
(
"could not initialize dst: %s"
,
isc_result_totext
(
result
));
isc_stdtime_get
(
&
now
);
if
(
startstr
!=
NULL
)
starttime
=
strtotime
(
startstr
,
now
,
now
);
else
starttime
=
now
;
if
(
endstr
!=
NULL
)
endtime
=
strtotime
(
endstr
,
now
,
starttime
);
else
endtime
=
starttime
+
(
30
*
24
*
60
*
60
);
if
(
ttl
==
-
1
)
{
ttl
=
3600
;
fprintf
(
stderr
,
"%s: TTL not specified, assuming 3600
\n
"
,
program
);
}
setup_logging
(
verbose
,
mctx
,
&
log
);
dns_diff_init
(
mctx
,
&
diff
);
rdclass
=
0
;
ISC_LIST_INIT
(
keylist
);
for
(
i
=
0
;
i
<
argc
;
i
++
)
{
char
namestr
[
DNS_NAME_FORMATSIZE
];
isc_buffer_t
namebuf
;
key
=
NULL
;
result
=
dst_key_fromnamedfile
(
argv
[
i
],
DST_TYPE_PUBLIC
,
mctx
,
&
key
);
if
(
result
!=
ISC_R_SUCCESS
)
fatal
(
"error loading key from %s: %s"
,
argv
[
i
],
isc_result_totext
(
result
));
if
(
rdclass
==
0
)
rdclass
=
dst_key_class
(
key
);
isc_buffer_init
(
&
namebuf
,
namestr
,
sizeof
(
namestr
));
result
=
dns_name_tofilenametext
(
dst_key_name
(
key
),
ISC_FALSE
,
&
namebuf
);
check_result
(
result
,
"dns_name_tofilenametext"
);
isc_buffer_putuint8
(
&
namebuf
,
0
);
if
(
domain
==
NULL
)
{
dns_fixedname_init
(
&
fdomain
);
domain
=
dns_fixedname_name
(
&
fdomain
);
dns_name_copy
(
dst_key_name
(
key
),
domain
,
NULL
);
}
else
if
(
!
dns_name_equal
(
domain
,
dst_key_name
(
key
)))
{
char
str
[
DNS_NAME_FORMATSIZE
];
dns_name_format
(
domain
,
str
,
sizeof
(
str
));
fatal
(
"all keys must have the same owner - %s "
"and %s do not match"
,
str
,
namestr
);
}
if
(
output
==
NULL
)
{
output
=
isc_mem_allocate
(
mctx
,
strlen
(
"keyset-"
)
+
strlen
(
namestr
)
+
1
);
if
(
output
==
NULL
)
fatal
(
"out of memory"
);
sprintf
(
output
,
"keyset-%s"
,
namestr
);
}
if
(
dst_key_iszonekey
(
key
))
{
dst_key_t
*
zonekey
=
NULL
;
result
=
dst_key_fromnamedfile
(
argv
[
i
],
DST_TYPE_PUBLIC
|
DST_TYPE_PRIVATE
,
mctx
,
&
zonekey
);
if
(
result
!=
ISC_R_SUCCESS
)
fatal
(
"failed to read private key %s: %s"
,
argv
[
i
],
isc_result_totext
(
result
));
if
(
!
zonekey_on_list
(
zonekey
))
{
keynode
=
isc_mem_get
(
mctx
,
sizeof
(
keynode_t
));
if
(
keynode
==
NULL
)
fatal
(
"out of memory"
);
keynode
->
key
=
zonekey
;
ISC_LIST_INITANDAPPEND
(
keylist
,
keynode
,
link
);
}
else
dst_key_free
(
&
zonekey
);
}
dns_rdata_reset
(
&
rdata
);
isc_buffer_init
(
&
b
,
data
,
sizeof
(
data
));
result
=
dst_key_todns
(
key
,
&
b
);
dst_key_free
(
&
key
);
if
(
result
!=
ISC_R_SUCCESS
)
fatal
(
"failed to convert key %s to a DNS KEY: %s"
,
argv
[
i
],
isc_result_totext
(
result
));
isc_buffer_usedregion
(
&
b
,
&
r
);
dns_rdata_fromregion
(
&
rdata
,
rdclass
,
dns_rdatatype_dnskey
,
&
r
);
tuple
=
NULL
;
result
=
dns_difftuple_create
(
mctx
,
DNS_DIFFOP_ADD
,
domain
,
ttl
,
&
rdata
,
&
tuple
);
check_result
(
result
,
"dns_difftuple_create"
);
dns_diff_append
(
&
diff
,
&
tuple
);
}
db
=
NULL
;
result
=
dns_db_create
(
mctx
,
"rbt"
,
dns_rootname
,
dns_dbtype_zone
,
rdclass
,
0
,
NULL
,
&
db
);
if
(
result
!=
ISC_R_SUCCESS
)
fatal
(
"failed to create a database"
);
version
=
NULL
;
dns_db_newversion
(
db
,
&
version
);
result
=
dns_diff_apply
(
&
diff
,
db
,
version
);
check_result
(
result
,
"dns_diff_apply"
);
dns_diff_clear
(
&
diff
);
dns_fixedname_init
(
&
tname
);
dns_rdataset_init
(
&
rdataset
);
result
=
dns_db_find
(
db
,
domain
,
version
,
dns_rdatatype_dnskey
,
0
,
0
,
NULL
,
dns_fixedname_name
(
&
tname
),
&
rdataset
,
NULL
);
check_result
(
result
,
"dns_db_find"
);
if
(
ISC_LIST_EMPTY
(
keylist
))
fprintf
(
stderr
,
"%s: no private zone key found; not self-signing
\n
"
,
program
);
for
(
keynode
=
ISC_LIST_HEAD
(
keylist
);
keynode
!=
NULL
;
keynode
=
ISC_LIST_NEXT
(
keynode
,
link
))
{
dns_rdata_reset
(
&
rdata
);
isc_buffer_init
(
&
b
,
data
,
sizeof
(
data
));
result
=
dns_dnssec_sign
(
domain
,
&
rdataset
,
keynode
->
key
,
&
starttime
,
&
endtime
,
mctx
,
&
b
,
&
rdata
);
isc_entropy_stopcallbacksources
(
ectx
);
if
(
result
!=
ISC_R_SUCCESS
)
{
char
keystr
[
KEY_FORMATSIZE
];
key_format
(
keynode
->
key
,
keystr
,
sizeof
(
keystr
));
fatal
(
"failed to sign keyset with key %s: %s"
,
keystr
,
isc_result_totext
(
result
));
}
if
(
tryverify
)
{
result
=
dns_dnssec_verify
(
domain
,
&
rdataset
,
keynode
->
key
,
ISC_TRUE
,
mctx
,
&
rdata
);
if
(
result
!=
ISC_R_SUCCESS
)
{
char
keystr
[
KEY_FORMATSIZE
];
key_format
(
keynode
->
key
,
keystr
,
sizeof
(
keystr
));
fatal
(
"signature from key '%s' failed to "
"verify: %s"
,
keystr
,
isc_result_totext
(
result
));
}
}
tuple
=
NULL
;
result
=
dns_difftuple_create
(
mctx
,
DNS_DIFFOP_ADD
,
domain
,
ttl
,
&
rdata
,
&
tuple
);
check_result
(
result
,
"dns_difftuple_create"
);
dns_diff_append
(
&
diff
,
&
tuple
);
}
result
=
dns_diff_apply
(
&
diff
,
db
,
version
);
check_result
(
result
,
"dns_diff_apply"
);
dns_diff_clear
(
&
diff
);
dns_rdataset_disassociate
(
&
rdataset
);
dns_db_closeversion
(
db
,
&
version
,
ISC_TRUE
);
result
=
dns_db_dump
(
db
,
version
,
output
);
if
(
result
!=
ISC_R_SUCCESS
)
{
char
domainstr
[
DNS_NAME_FORMATSIZE
];
dns_name_format
(
domain
,
domainstr
,
sizeof
(
domainstr
));
fatal
(
"failed to write database for %s to %s"
,
domainstr
,
output
);
}
printf
(
"%s
\n
"
,
output
);
dns_db_detach
(
&
db
);
while
(
!
ISC_LIST_EMPTY
(
keylist
))
{
keynode
=
ISC_LIST_HEAD
(
keylist
);
ISC_LIST_UNLINK
(
keylist
,
keynode
,
link
);
dst_key_free
(
&
keynode
->
key
);
isc_mem_put
(
mctx
,
keynode
,
sizeof
(
keynode_t
));
}
cleanup_logging
(
&
log
);
cleanup_entropy
(
&
ectx
);
isc_mem_free
(
mctx
,
output
);
dst_lib_destroy
();
if
(
verbose
>
10
)
isc_mem_stats
(
mctx
,
stdout
);
isc_mem_destroy
(
&
mctx
);
return
(
0
);
}
bin/dnssec/dnssec-makekeyset.docbook
deleted
100644 → 0
View file @
d42de116
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
<!--
- Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
- Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
-
- Permission to use, copy, modify, and distribute this software for any
- purpose with or without fee is hereby granted, provided that the above
- copyright notice and this permission notice appear in all copies.
-
- THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-makekeyset.docbook,v 1.7 2005/04/07 03:49:56 marka Exp $ -->
<refentry>
<refentryinfo>
<date>
June 30, 2000
</date>
</refentryinfo>
<refmeta>
<refentrytitle><application>
dnssec-makekeyset
</application></refentrytitle>
<manvolnum>
8
</manvolnum>
<refmiscinfo>
BIND9
</refmiscinfo>
</refmeta>
<refnamediv>
<refname><application>
dnssec-makekeyset
</application></refname>
<refpurpose>
DNSSEC zone signing tool
</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>
dnssec-makekeyset
</command>
<arg><option>
-a
</option></arg>
<arg><option>
-s
<replaceable
class=
"parameter"
>
start-time
</replaceable></option></arg>
<arg><option>
-e
<replaceable
class=
"parameter"
>
end-time
</replaceable></option></arg>
<arg><option>
-h
</option></arg>
<arg><option>
-p
</option></arg>
<arg><option>
-r
<replaceable
class=
"parameter"
>
randomdev
</replaceable></option></arg>
<arg><option>
-t
</option><replaceable
class=
"parameter"
>
ttl
</replaceable></arg>
<arg><option>
-v
<replaceable
class=
"parameter"
>
level
</replaceable></option></arg>
<arg
choice=
"req"
rep=
"repeat"
>
key
</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>
DESCRIPTION
</title>
<para>
<command>
dnssec-makekeyset
</command>
generates a key set from one
or more keys created by
<command>
dnssec-keygen
</command>
. It creates
a file containing a KEY record for each key, and self-signs the key
set with each zone key. The output file is of the form
<filename>
keyset-nnnn.
</filename>
, where
<filename>
nnnn
</filename>
is the zone name.
</para>
</refsect1>
<refsect1>
<title>
OPTIONS
</title>
<variablelist>
<varlistentry>
<term>
-a
</term>
<listitem>
<para>
Verify all generated signatures.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
-s
<replaceable
class=
"parameter"
>
start-time
</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated SIG 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
<option>
start-time
</option>
is specified, the current
time is used.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
-e
<replaceable
class=
"parameter"
>
end-time
</replaceable></term>
<listitem>
<para>
Specify the date and time when the generated SIG records