mirror of
https://github.com/apache/httpd.git
synced 2025-07-04 05:22:30 +03:00
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1842104 13f79535-47bb-0310-9956-ffa450edef68
150 lines
5.9 KiB
Groff
150 lines
5.9 KiB
Groff
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
.\" DO NOT EDIT! Generated from XML source.
|
|
.\" XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
|
|
.de Sh \" Subsection
|
|
.br
|
|
.if t .Sp
|
|
.ne 5
|
|
.PP
|
|
\fB\\$1\fR
|
|
.PP
|
|
..
|
|
.de Sp \" Vertical space (when we can't use .PP)
|
|
.if t .sp .5v
|
|
.if n .sp
|
|
..
|
|
.de Ip \" List item
|
|
.br
|
|
.ie \\n(.$>=3 .ne \\$3
|
|
.el .ne 3
|
|
.IP "\\$1" \\$2
|
|
..
|
|
.TH "CTLOGCONFIG" 8 "2018-09-27" "Apache HTTP Server" "ctlogconfig"
|
|
|
|
.SH NAME
|
|
ctlogconfig \- Certificate Transparency log configuration tool
|
|
|
|
.SH "SYNOPSIS"
|
|
|
|
.PP
|
|
\fB \fBctlogconfig\fR \fI/path/to/db\fR \fBdump\fR \fR
|
|
|
|
.PP
|
|
\fB \fBctlogconfig\fR \fI/path/to/db\fR \fBconfigure-public-key\fR [ \fIlog-id\fR|\fIrecord-id\fR ] \fI/path/to/public-key\&.pem\fR \fR
|
|
|
|
.PP
|
|
\fB \fBctlogconfig\fR \fI/path/to/db\fR \fBconfigure-url\fR [ \fIlog-id\fR|\fIrecord-id\fR ] \fIlog-URL\fR \fR
|
|
|
|
.PP
|
|
\fB \fBctlogconfig\fR \fI/path/to/db\fR \fBvalid-time-range\fR \fIlog-id\fR|\fIrecord-id\fR \fImin-timestamp\fR \fImax-timestamp\fR \fR
|
|
|
|
.PP
|
|
\fB \fBctlogconfig\fR \fI/path/to/db\fR \fBtrust\fR \fIlog-id\fR|\fIrecord-id\fR \fR
|
|
|
|
.PP
|
|
\fB \fBctlogconfig\fR \fI/path/to/db\fR \fBdistrust\fR \fIlog-id\fR|\fIrecord-id\fR \fR
|
|
|
|
.PP
|
|
\fB \fBctlogconfig\fR \fI/path/to/db\fR \fBforget\fR \fIlog-id\fR|\fIrecord-id\fR \fR
|
|
|
|
|
|
.TP
|
|
\fIlog-id\fR
|
|
This is the id of the log, which is the SHA-256 hash of the log's public key, provided in hexadecimal format\&. This string is 64 characters in length\&.
|
|
.TP
|
|
\fIrecord-id\fR
|
|
This is the record number in the database, as displayed by the \fBdump\fR sub-command, prefixed with \fB#\fR\&. As an example, \fB#4\fR references the fourth record in the database\&. (Use shell escaping as necessary\&.)
|
|
.TP
|
|
\fI/path/to/public-key\&.pem\fR
|
|
This is a file containing the log's public key in PEM format\&. The public key is not stored in the database\&. Instead, a reference to the file is stored\&. Thus, the file cannot be removed until the public key in the database is removed or changed\&.
|
|
.TP
|
|
\fImin-timestamp\fR, \fImax-timestamp\fR
|
|
A timestamp is a time as expressed in the number of milliseconds since the epoch, ignoring leap seconds\&. This is the form of time used in Signed Certificate Timestamps\&. This must be provided as a decimal number\&. Specify \fB\fB-\fR\fR for one of the timestamps if it is unknown\&. For example, when configuring the minimum valid timestamp for a log which remains valid, specify \fB\fB-\fR\fR for \fImax-timestamp\fR\&. SCTs received from this log by the proxy are invalid if the timestamp is older than \fImin-timestamp\fR or newer than \fImax-timestamp\fR\&.
|
|
|
|
|
|
.SH "SUMMARY"
|
|
|
|
.PP
|
|
\fBctlogconfig\fR is a tool for creating and maintaining a log configuration database, for use with mod_ssl_ct\&.
|
|
|
|
.PP
|
|
Refer first to Log configuration in the mod_ssl_ct documentation\&.
|
|
|
|
.PP
|
|
Refer to the examples below for typical use\&.
|
|
|
|
|
|
.SH "SUB-COMMANDS"
|
|
|
|
|
|
.TP
|
|
dump
|
|
Display configuration database contents\&. The record id shown in the output of this sub-command can be used to identify the affected record in other sub-commands\&.
|
|
.TP
|
|
configure-public-key
|
|
Add a log's public key to the database or set the public key for an existing entry\&. The log's public key is needed to validate the signature of SCTs received by a proxy from a backend server\&. (The database will be created if it does not yet exist\&.)
|
|
.TP
|
|
configure-url
|
|
Add a log's URL to the database or set the URL for an existing entry\&. The log's URL is used when submitting server certificates to logs in order to obtain SCTs to send to clients\&. (The database will be created if it does not yet exist\&.)
|
|
.TP
|
|
valid-time-range
|
|
Set the minimum valid time and/or the maximum valid time for a log\&. SCTs from the log with timestamps outside of the valid range will not be accepted\&. Use \fB-\fR for a time that is not being configured\&. (The database will be created if it does not yet exist\&.)
|
|
.TP
|
|
trust
|
|
Mark a log as trusted, which is the default setting\&. This sub-command is used to reverse a \fIdistrust\fR setting\&. (The database will be created if it does not yet exist\&.)
|
|
.TP
|
|
distrust
|
|
Mark a log as distrusted\&. (The database will be created if it does not yet exist\&.)
|
|
.TP
|
|
forget
|
|
Remove information about a log from the database\&.
|
|
|
|
.SH "EXAMPLES"
|
|
|
|
.PP
|
|
Consider an Apache httpd instance which serves as a TLS server and a proxy\&. The TLS server needs to obtain SCTs from a couple of known logs in order to pass those to clients, and the proxy needs to be able to validate the signature of SCTs received from backend servers\&.
|
|
|
|
.PP
|
|
First we'll configure the URLs for logs where server certificates are logged:
|
|
|
|
.nf
|
|
|
|
$ ctlogconfig /path/to/conf/log-config configure-url http://log1\&.example\&.com/
|
|
$ ctlogconfig /path/to/conf/log-config configure-url http://log2\&.example\&.com/
|
|
$ ctlogconfig /path/to/conf/log-config dump
|
|
Log entry:
|
|
Record 1
|
|
Log id : (not configured)
|
|
Public key file: (not configured)
|
|
URL : http://log1\&.example\&.com/
|
|
Time range : -INF to +INF
|
|
Log entry:
|
|
Record 2
|
|
Log id : (not configured)
|
|
Public key file: (not configured)
|
|
URL : http://log2\&.example\&.com/
|
|
Time range : -INF to +INF
|
|
.fi
|
|
|
|
.PP
|
|
Next we'll set the public key of a log where the certificate of our only backend server is published\&. In this case it is the log with URL http://log2\&.example\&.com/ which has already been configured\&.
|
|
|
|
.nf
|
|
|
|
$ ctlogconfig /path/to/conf/log-config configure-public-key \\
|
|
$ ctlogconfig /path/to/conf/log-config dump
|
|
Log entry:
|
|
Record 1
|
|
Log id : (not configured)
|
|
Public key file: (not configured)
|
|
URL : http://log1\&.example\&.com/
|
|
Time range : -INF to +INF
|
|
Log entry:
|
|
Record 2
|
|
Log id : (not configured)
|
|
Public key file: /path/to/conf/log2-pub\&.pem
|
|
URL : http://log2\&.example\&.com/
|
|
Time range : -INF to +INF
|
|
.fi
|
|
|