keys/tripe-keys.in: Add an option to control the bulk transform.
[tripe] / keys / tripe-keys.conf.5.in
... / ...
CommitLineData
1.\" -*-nroff-*-
2.\".
3.\" Manual for the key-management configuration files
4.\"
5.\" (c) 2008 Straylight/Edgeware
6.\"
7.
8.\"----- Licensing notice ---------------------------------------------------
9.\"
10.\" This file is part of Trivial IP Encryption (TrIPE).
11.\"
12.\" TrIPE is free software; you can redistribute it and/or modify
13.\" it under the terms of the GNU General Public License as published by
14.\" the Free Software Foundation; either version 2 of the License, or
15.\" (at your option) any later version.
16.\"
17.\" TrIPE is distributed in the hope that it will be useful,
18.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
19.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20.\" GNU General Public License for more details.
21.\"
22.\" You should have received a copy of the GNU General Public License
23.\" along with TrIPE; if not, write to the Free Software Foundation,
24.\" Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25.
26.\"--------------------------------------------------------------------------
27.so ../common/defs.man \" @@@PRE@@@
28.
29.\"--------------------------------------------------------------------------
30.TH tripe-keys.conf 5tripe "14 September 2005" "Straylight/Edgeware" "TrIPE: Trivial IP Encryption"
31.
32.\"--------------------------------------------------------------------------
33.SH "NAME"
34.
35tripe-keys.conf \- configuration file format for tripe-keys
36.
37.\"--------------------------------------------------------------------------
38.SH "DESCRIPTION"
39.
40The
41.B tripe-keys.master
42or
43.B tripe-keys.conf
44file is a simple line-based configuration file read by
45.BR tripe-keys (1).
46Lines may be empty (consist only of whitespace), be comments (first
47non-whitespace character is
48.RB ` # ')
49or have the form
50.IP
51.I name
52.RB [ = ]
53.I value
54.PP
55A
56.I name
57consists of alphanumeric characters and hyphens. Values may contain
58substitutions, of the form
59.BI ${ name } \fR,
60which are replaced by the value assigned to
61.IR name .
62Many
63.IR name s
64have significance to the
65.B tripe-keys
66program: these are described below. Many have sensible defaults.
67.SS "The tripe-keys.master file"
68The client configuration file is built by applying substitutions to the
69.B tripe-keys.master
70file. The following tokens are substituted:
71.TP
72.B @MASTER-SEQUENCE@
73The sequence number of the most recently-added signing key.
74.TP
75.B @HK-MASTER@
76The fingerprint of the signing key identified by
77.BR @MASTER-SEQUENCE@ .
78.SS "Master repository parameters"
79.TP
80.I base-url
81The base URL of the key repository (usually with a trailing
82.RB ` / ').
83Typically, this will be something like
84.RB http://www.distorted.org.uk/vpn/ .
85No default.
86.TP
87.I repos-base
88The basename for the repository archive. Default is
89.BR tripe-keys.tar.gz .
90.TP
91.I sig-base
92The basename template for repository signatures. Default is
93.BR tripe-keys.sig-<SEQ> .
94The
95.RB ` <SEQ> '
96portion, if any, is replaced by the sequence number of the key which
97made the signature.
98.TP
99.I repos-url
100The URL for the key repository tarball. Default is the concatenation of
101.I base-url
102and
103.IR repos-base .
104.TP
105.I sig-url
106The URL template for key repository signatures. Default is the
107concatenation of
108.I base-url
109and
110.IR sig-base .
111.TP
112.I master-sequence
113The sequence number of the master authority's current signing key. No
114default. Usually set up automatically.
115.TP
116.I master-keygen-flags
117Additional options for generating master keys. Default is
118.RB ` -l '.
119.TP
120.I master-attrs
121Additional attributes to set on the master key,
122as
123.IB key = value
124pairs separated by spaces.
125Default is empty.
126.TP
127.I hk-master
128The fingerprint of the current master signing key. No default. Usually
129set up automatically.
130.TP
131.I upload-hook
132A shell command to run by
133.B tripe-keys upload
134after it has successfully written the
135.I repos-file
136and
137.IR sig-file s.
138Default is
139.B ": run upload hook"
140which does nothing.
141.SS "Crypto parameters"
142.TP
143.I kx
144Key-exchange algorithm to use. Either
145.B dh
146(integer Diffie-Hellman)
147or
148.B ec
149(elliptic curves). The default is
150.BR dh .
151.ne 7
152.TP
153.I kx-genalg
154Key generation algorithm name to pass to
155.B "key add"
156when generating keys.
157Default depends on
158.I kx
159as follows.
160.TS
161center;
162| ci | ci |
163| lb | lb |.
164_
165kx kx-genalg
166_
167dh dh
168ec ec
169_
170.TE
171.ne 7
172.TP
173.I kx-param-genalg
174Key generation algorithm name to pass to
175.B "key add"
176when generating the parameters key.
177Default depends on
178.I kx
179as follows.
180.TS
181center;
182| ci | ci |
183| lb | lb |.
184_
185kx kx-param-genalg
186_
187dh dh-param
188ec ec-param
189_
190.TE
191.ne 7
192.TP
193.I kx-param
194Options to pass to
195.B "key add"
196when generating the parameters key. Default depends on
197.I kx
198as follows.
199.TS
200center;
201| ci | ci |
202| lb | lb |.
203_
204kx kx-param
205_
206dh \-LS \-b3072 \-B256
207ec \-Cnist-p256
208_
209.TE
210.TP
211.I kx-attrs
212Additional attributes to set on the parameters
213(and therefore copied to peer keys),
214as
215.IB key = value
216pairs separated by spaces.
217Default is empty.
218.TP
219.I kx-expire
220Expiry time for generated keys. Default is
221.BR "now + 1 year" .
222.TP
223.I hash
224Hashing algorithm to use. Default is
225.BR sha256 .
226.TP
227.I bulk
228The bulk crypto transform to use.
229Default is
230.BR iiv .
231.I mac
232Message authentication algorithm to use. Default is
233.IB hash -hmac/ halfhashlen \fR,
234where
235.I halfhashlen
236is half of
237.IR hash 's
238output length.
239.TP
240.I mgf
241Mask-generation algorithm to use. Default is
242.IB hash -mgf \fR.
243This is probably a good choice.
244.ne 6
245.TP
246.I cipher
247Symmetric encryption scheme to use. Default is
248.BR rijndael-cbc .
249.ne 6
250.TP
251.I sig
252Signature scheme to use. Must be one of those recognized by
253.BR catsign (1).
254Default depends on
255.I kx
256as follows.
257.TS
258center;
259| ci | ci |
260| lb | lb |.
261_
262kx sig
263_
264dh dsa
265ec ecdsa
266_
267.TE
268.ne 12
269.TP
270.I sig-genalg
271Key-generation algorithm for signing key. Default depends on
272.I sig
273as follows.
274.TS
275center;
276| ci | ci |
277| lb | lb |.
278_
279sig sig-genalg
280_
281kcdsa dh
282dsa dsa
283rsapcs1 rsa
284rsapss rsa
285ecdsa ec
286eckcdsa ec
287ed25519 ed25519
288ed448 ed448
289_
290.TE
291.ne 10
292.TP
293.I sig-param
294Signature-key generation parameters. Default depends on
295.I sig-genalg
296as follows.
297.TS
298center;
299| ci | ci |
300| lb | lb |.
301_
302sig-genalg sig-param
303_
304dh \-LS \-b3072 \-B256
305dsa \-b3072 \-B256
306rsa \-b3072
307ec \-Cnist-p256
308ed25519 \fInone
309ed448 \fInone
310_
311.TE
312.TP
313.I sig-hash
314Hash function to use for making signatures. Default is
315.IR hash .
316.TP
317.I sig-fresh
318Oldest time we should consider a signed archive to be fresh. Default is
319.BR always ,
320meaning that all signatures are fresh.
321.TP
322.I sig-expire
323Expiry time for master signing key. Default is
324.BR forever .
325.TP
326.I fingerprint-hash
327Hash function to use for key fingerprinting. Default is
328.IR hash .
329.SS "Master maintenance parameters"
330.TP
331.I base-dir
332Local base directory for the repository files. This probably ought to
333end in a
334.RB ` / '
335character. Unexpected files in this directory will be removed by the
336.B tripe-keys upload
337command. No default.
338.TP
339.I repos-file
340Filename for local repository tarball. Default is the concatenation of
341.I base-dir
342and
343.IB repos-base .
344.TP
345.I sig-file
346Template for repository signatures. Default is the concatenation of
347.I base-dir
348and
349.IR sig-base .
350.TP
351.I conf-file
352Filename for local repository configuration file. Default is
353.IB basedir /tripe-keys.conf \fR.
354.TP
355.I kx-warn-days
356The
357.B "tripe-keys check"
358command will warn about keys which will in less than
359.I kx-warn-days
360days. Default is 28.
361.
362.\"--------------------------------------------------------------------------
363.SH "SEE ALSO"
364.
365.BR tripe (8),
366.BR tripe\-keys (8).
367.
368.\"--------------------------------------------------------------------------
369.SH "AUTHOR"
370.
371Mark Wooding, <mdw@distorted.org.uk>
372.
373.\"----- That's all, folks --------------------------------------------------