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