[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r13091: Add a manual page for tor-gencert. Also implement the missin (in tor/trunk: . doc src/tools)
Author: nickm
Date: 2008-01-10 12:08:05 -0500 (Thu, 10 Jan 2008)
New Revision: 13091
Added:
tor/trunk/doc/tor-gencert.1
Modified:
tor/trunk/
tor/trunk/ChangeLog
tor/trunk/doc/Makefile.am
tor/trunk/doc/TODO
tor/trunk/src/tools/tor-gencert.c
Log:
r17550@catbus: nickm | 2008-01-10 12:08:01 -0500
Add a manual page for tor-gencert. Also implement the missing -s option in tor-gencert, and fix the info message for when no cert file is specified.
Property changes on: tor/trunk
___________________________________________________________________
svk:merge ticket from /tor/trunk [r17550] on 8246c3cf-6607-4228-993b-4d95d33730f1
Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog 2008-01-10 16:08:47 UTC (rev 13090)
+++ tor/trunk/ChangeLog 2008-01-10 17:08:05 UTC (rev 13091)
@@ -50,6 +50,8 @@
- New configuration options to override default maximum number of
servers allowed on a single IP address. This is important
for running a test network on a single host.
+ - Actually implement the -s option to tor-gencert.
+ - Add a manual page for tor-gencert.
o Minor features (other):
- Add hidden services and DNSPorts to the list of things that make
Modified: tor/trunk/doc/Makefile.am
===================================================================
--- tor/trunk/doc/Makefile.am 2008-01-10 16:08:47 UTC (rev 13090)
+++ tor/trunk/doc/Makefile.am 2008-01-10 17:08:05 UTC (rev 13091)
@@ -4,7 +4,7 @@
tor-osx-dmg-creation.txt tor-rpm-creation.txt \
tor-win32-mingw-creation.txt
-man_MANS = tor.1 tor-resolve.1
+man_MANS = tor.1 tor-resolve.1 tor-gencert.1
SUBDIRS = design-paper spec
Modified: tor/trunk/doc/TODO
===================================================================
--- tor/trunk/doc/TODO 2008-01-10 16:08:47 UTC (rev 13090)
+++ tor/trunk/doc/TODO 2008-01-10 17:08:05 UTC (rev 13091)
@@ -32,7 +32,7 @@
dir-connection-is-encrypted.
- set up a filter to not answer any bridge descriptors on a
non-encrypted request
-N - write a tor-gencert man page
+ o write a tor-gencert man page
. geoip caching and publishing for bridges
d Track consecutive time up, not time since last-forgotten IP.
Added: tor/trunk/doc/tor-gencert.1
===================================================================
--- tor/trunk/doc/tor-gencert.1 (rev 0)
+++ tor/trunk/doc/tor-gencert.1 2008-01-10 17:08:05 UTC (rev 13091)
@@ -0,0 +1,81 @@
+.TH tor-gencert 1 "" Jan-2008 ""
+.\" manual page by Nick Mathewson
+.SH NAME
+.LP
+tor-gencert \- Generate certs and keys for Tor directory authorities
+
+.SH SYNOPSIS
+\fBtor-gencert\fP\ [-h|--help] [-v] [-r|--reuse] [--create-identity-key] [-i \fIid_file\fP] [-c \fIcert_file\fP] [-m \fInum\fP] [-a \fIaddress\fP:\fIport\fP]
+
+.SH DESCRIPTION
+\fBtor-gencert\fR generates certificates and private keys for use by Tor
+directory authorities running the v3 Tor directory protocol, as used by Tor
+0.2.0 and later. If you are not running a directory authority, you don't
+need to use tor-gencert.
+.PP
+Every directory authority has a long term authority \fIidentity key\fP (which
+is distinct from the identity key it uses as a Tor server); this key should
+be kept offline in a secure location. It is used to certify shorter-lived
+\fIsigning keys\fP, which are kept online and used by the directory authority
+to sign votes and consensus documents.
+.PP
+After you use this program to generate a signing key and a certificate, copy
+those files to the keys subdirectory of your Tor process, and send Tor a
+SIGHUP signal. DO NOT COPY THE IDENTITY KEY.
+
+.SH OPTIONS
+\fB-v\fP
+Display verbose output.
+.LP
+.TP
+\fB-h\fP or \fB--help\fP
+Display help text and exit.
+.LP
+.TP
+\fB-r\fP or \fB--reuse\fP
+Generate a new certificate, but not a new signing key. This can be
+used to change the address or lifetime associated with a given key.
+.LP
+.TP
+\fB--create-identity-key\fP
+Generate a new identity key. You should only use this option the first
+time you run tor-gencert; in the future, you should use the identity
+key that's already there.
+.LP
+.TP
+\fB-i \fR\fIFILENAME\fP
+Read the identity key from the specified file. If the file is not present
+and --create-identity-key is provided, create the identity key in the
+specified file. Default: "./authority_identity_key"
+.LP
+.TP
+\fB-s \fR\fIFILENAME\fP
+Write the signing key to the specified file. Default:
+"./authority_signing_key"
+.LP
+.TP
+\fB-c \fR\fIFILENAME\fP
+Write the certificate to the specified file.
+Default: "./authority_certificate"
+.LP
+.TP
+\fB-m \fR\fINUM\fP
+Number of months that the certificate should be valid. Default: 12.
+.LP
+.TP
+\fB-a \fR\fIaddress\fR:\fIport\fP
+If provided, advertise the address:port combination as this authority's
+preferred directory port in its certificate. If the address is a hostname,
+the hostname is resolved to an IP before it's published.
+
+.SH BUGS
+This probably doesn't run on Windows. That's not a big issue, since we
+don't really want authorities to be running on Windows anyway.
+
+.SH SEE ALSO
+.BR tor (1)
+.PP
+See also the "dir-spec.txt" file, distributed with Tor.
+
+.SH AUTHORS
+Roger Dingledine <arma@xxxxxxx>, Nick Mathewson <nickm@xxxxxxxxxxxx>.
Modified: tor/trunk/src/tools/tor-gencert.c
===================================================================
--- tor/trunk/src/tools/tor-gencert.c 2008-01-10 16:08:47 UTC (rev 13090)
+++ tor/trunk/src/tools/tor-gencert.c 2008-01-10 17:08:05 UTC (rev 13091)
@@ -96,6 +96,12 @@
return 1;
}
identity_key_file = tor_strdup(argv[++i]);
+ } else if (!strcmp(argv[i], "-s")) {
+ if (i+1>=argc) {
+ fprintf(stderr, "No argument to -s\n");
+ return 1;
+ }
+ signing_key_file = tor_strdup(argv[++i]);
} else if (!strcmp(argv[i], "-c")) {
if (i+1>=argc) {
fprintf(stderr, "No argument to -c\n");
@@ -158,7 +164,7 @@
if (!certificate_file) {
certificate_file = tor_strdup("./authority_certificate");
log_info(LD_GENERAL, "No signing key file given; defaulting to %s",
- signing_key_file);
+ certificate_file);
}
return 0;
}