server/, keys/: Add bulk crypto transform based on NaCl `crypto_secretbox'.
[tripe] / keys / tripe-keys.conf.5.in
CommitLineData
060ca767 1.\" -*-nroff-*-
2.\".
fc916a09
MW
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.\"--------------------------------------------------------------------------
e99aedcf 27.so ../common/defs.man \" @@@PRE@@@
fc916a09
MW
28.
29.\"--------------------------------------------------------------------------
0647ba7c 30.TH tripe-keys.conf 5tripe "14 September 2005" "Straylight/Edgeware" "TrIPE: Trivial IP Encryption"
fc916a09
MW
31.
32.\"--------------------------------------------------------------------------
060ca767 33.SH "NAME"
fc916a09 34.
060ca767 35tripe-keys.conf \- configuration file format for tripe-keys
fc916a09
MW
36.
37.\"--------------------------------------------------------------------------
060ca767 38.SH "DESCRIPTION"
fc916a09 39.
060ca767 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 .
e04c2d50 62Many
060ca767 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
bdbd9326 108.I base-url
060ca767 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
7858dfa0
MW
116.I master-keygen-flags
117Additional options for generating master keys. Default is
118.RB ` -l '.
119.TP
67bb121f
MW
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
060ca767 127.I hk-master
128The fingerprint of the current master signing key. No default. Usually
129set up automatically.
b14ccd2f
MW
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.
060ca767 141.SS "Crypto parameters"
142.TP
143.I kx
144Key-exchange algorithm to use. Either
e04c2d50 145.B dh
060ca767 146(integer Diffie-Hellman)
147or
148.B ec
149(elliptic curves). The default is
150.BR dh .
f274f202 151.ne 7
060ca767 152.TP
256bc8d0
MW
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
060ca767 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_
ca3aaaeb 206dh \-LS \-b3072 \-B256
060ca767 207ec \-Cnist-p256
208_
209.TE
210.TP
67bb121f
MW
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.
07bdda1f
MW
217Default is
218.BR serialization=constlen .
67bb121f 219.TP
060ca767 220.I kx-expire
221Expiry time for generated keys. Default is
ca3aaaeb 222.BR "now + 1 year" .
060ca767 223.TP
224.I hash
225Hashing algorithm to use. Default is
226.BR sha256 .
227.TP
39bcd193
MW
228.I bulk
229The bulk crypto transform to use.
230Default is
231.BR iiv .
de8edc7f
MW
232.ne 8
233.TP
060ca767 234.I mac
de8edc7f
MW
235Message authentication algorithm to use.
236Default depends on
237.I bulk
238as follows.
239.TS
240center;
241| ci | ci |
242| lb | lb |.
243_
244bulk mac
245_
246v0 \fIhash\fB-hmac/\fIhalfhashlen
247iiv \fIhash\fB-hmac/\fIhalfhashlenrijndael-cbc
248naclbox poly1305/128
249_
250.TE
251.IP
252(In the above,
060ca767 253.I halfhashlen
254is half of
255.IR hash 's
de8edc7f 256output length.)
060ca767 257.TP
258.I mgf
259Mask-generation algorithm to use. Default is
260.IB hash -mgf \fR.
261This is probably a good choice.
de8edc7f 262.ne 7
060ca767 263.TP
264.I cipher
de8edc7f
MW
265Symmetric encryption scheme to use.
266Default depends on
267.I bulk
268as follows.
269.TS
270center;
271| ci | ci |
272| lb | lb |.
273_
274bulk cipher
275_
276v0 rijndael-cbc
277iiv rijndael-cbc
278naclbox chacha20
279_
280.TE
281.ne 7
060ca767 282.TP
283.I sig
284Signature scheme to use. Must be one of those recognized by
285.BR catsign (1).
b86e6f3f 286Default depends on
060ca767 287.I kx
b86e6f3f
MW
288as follows.
289.TS
290center;
291| ci | ci |
292| lb | lb |.
293_
294kx sig
295_
296dh dsa
297ec ecdsa
298_
299.TE
06a174df 300.ne 12
060ca767 301.TP
302.I sig-genalg
e04c2d50 303Key-generation algorithm for signing key. Default depends on
060ca767 304.I sig
305as follows.
306.TS
307center;
308| ci | ci |
309| lb | lb |.
310_
311sig sig-genalg
312_
313kcdsa dh
314dsa dsa
315rsapcs1 rsa
316rsapss rsa
317ecdsa ec
318eckcdsa ec
06a174df
MW
319ed25519 ed25519
320ed448 ed448
060ca767 321_
322.TE
06a174df 323.ne 10
060ca767 324.TP
325.I sig-param
326Signature-key generation parameters. Default depends on
327.I sig-genalg
328as follows.
329.TS
330center;
331| ci | ci |
332| lb | lb |.
333_
334sig-genalg sig-param
335_
ca3aaaeb
MW
336dh \-LS \-b3072 \-B256
337dsa \-b3072 \-B256
338rsa \-b3072
060ca767 339ec \-Cnist-p256
06a174df
MW
340ed25519 \fInone
341ed448 \fInone
060ca767 342_
343.TE
344.TP
345.I sig-hash
346Hash function to use for making signatures. Default is
347.IR hash .
348.TP
349.I sig-fresh
350Oldest time we should consider a signed archive to be fresh. Default is
351.BR always ,
352meaning that all signatures are fresh.
353.TP
354.I sig-expire
355Expiry time for master signing key. Default is
356.BR forever .
357.TP
358.I fingerprint-hash
359Hash function to use for key fingerprinting. Default is
360.IR hash .
361.SS "Master maintenance parameters"
362.TP
363.I base-dir
364Local base directory for the repository files. This probably ought to
365end in a
366.RB ` / '
838e5ce7
MW
367character. Unexpected files in this directory will be removed by the
368.B tripe-keys upload
369command. No default.
060ca767 370.TP
371.I repos-file
372Filename for local repository tarball. Default is the concatenation of
373.I base-dir
374and
375.IB repos-base .
376.TP
377.I sig-file
ca3aaaeb 378Template for repository signatures. Default is the concatenation of
060ca767 379.I base-dir
380and
381.IR sig-base .
382.TP
383.I conf-file
384Filename for local repository configuration file. Default is
385.IB basedir /tripe-keys.conf \fR.
c2f28e4b
MW
386.TP
387.I kx-warn-days
388The
389.B "tripe-keys check"
390command will warn about keys which will in less than
391.I kx-warn-days
392days. Default is 28.
fc916a09
MW
393.
394.\"--------------------------------------------------------------------------
060ca767 395.SH "SEE ALSO"
fc916a09 396.
060ca767 397.BR tripe (8),
398.BR tripe\-keys (8).
fc916a09
MW
399.
400.\"--------------------------------------------------------------------------
060ca767 401.SH "AUTHOR"
fc916a09 402.
060ca767 403Mark Wooding, <mdw@distorted.org.uk>
fc916a09
MW
404.
405.\"----- That's all, folks --------------------------------------------------