/mandos/release

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/release

« back to all changes in this revision

Viewing changes to mandos-keygen.xml

  • Committer: Teddy Hogeborn
  • Date: 2014-02-16 02:42:42 UTC
  • mto: (237.7.272 trunk)
  • mto: This revision was merged to the branch mainline in revision 309.
  • Revision ID: teddy@recompile.se-20140216024242-9wiw1nkxgt7ohovj
Fix running of self-tests.

* debian/control (Build-Depends): Add Python dependencies to
                                  successfully run self-tests.
* debian/copyright: GPLv3 now has its own license file - use it.
* debian/watch: Set PGP signature URL.
* mandos (main): Bug fix: When running self-tests, set exit code.
* mandos-ctl (main): Cosmetic fix; use os.EX_OK instead of plain 0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
<?xml version="1.0" encoding="UTF-8"?>
2
2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3
3
        "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4
 
<!ENTITY VERSION "1.0">
5
4
<!ENTITY COMMANDNAME "mandos-keygen">
6
 
<!ENTITY TIMESTAMP "2008-08-30">
 
5
<!ENTITY TIMESTAMP "2013-10-22">
 
6
<!ENTITY % common SYSTEM "common.ent">
 
7
%common;
7
8
]>
8
9
 
9
10
<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
11
12
    <title>Mandos Manual</title>
12
13
    <!-- NWalsh’s docbook scripts use this to generate the footer: -->
13
14
    <productname>Mandos</productname>
14
 
    <productnumber>&VERSION;</productnumber>
 
15
    <productnumber>&version;</productnumber>
15
16
    <date>&TIMESTAMP;</date>
16
17
    <authorgroup>
17
18
      <author>
18
19
        <firstname>Björn</firstname>
19
20
        <surname>Påhlsson</surname>
20
21
        <address>
21
 
          <email>belorn@fukt.bsnet.se</email>
 
22
          <email>belorn@recompile.se</email>
22
23
        </address>
23
24
      </author>
24
25
      <author>
25
26
        <firstname>Teddy</firstname>
26
27
        <surname>Hogeborn</surname>
27
28
        <address>
28
 
          <email>teddy@fukt.bsnet.se</email>
 
29
          <email>teddy@recompile.se</email>
29
30
        </address>
30
31
      </author>
31
32
    </authorgroup>
32
33
    <copyright>
33
34
      <year>2008</year>
 
35
      <year>2009</year>
 
36
      <year>2011</year>
 
37
      <year>2012</year>
34
38
      <holder>Teddy Hogeborn</holder>
35
39
      <holder>Björn Påhlsson</holder>
36
40
    </copyright>
37
 
    <legalnotice>
38
 
      <para>
39
 
        This manual page is free software: you can redistribute it
40
 
        and/or modify it under the terms of the GNU General Public
41
 
        License as published by the Free Software Foundation,
42
 
        either version 3 of the License, or (at your option) any
43
 
        later version.
44
 
      </para>
45
 
 
46
 
      <para>
47
 
        This manual page is distributed in the hope that it will
48
 
        be useful, but WITHOUT ANY WARRANTY; without even the
49
 
        implied warranty of MERCHANTABILITY or FITNESS FOR A
50
 
        PARTICULAR PURPOSE.  See the GNU General Public License
51
 
        for more details.
52
 
      </para>
53
 
 
54
 
      <para>
55
 
        You should have received a copy of the GNU General Public
56
 
        License along with this program; If not, see
57
 
        <ulink url="http://www.gnu.org/licenses/"/>.
58
 
      </para>
59
 
    </legalnotice>
 
41
    <xi:include href="legalnotice.xml"/>
60
42
  </refentryinfo>
61
 
 
 
43
  
62
44
  <refmeta>
63
45
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
46
    <manvolnum>8</manvolnum>
67
49
  <refnamediv>
68
50
    <refname><command>&COMMANDNAME;</command></refname>
69
51
    <refpurpose>
70
 
      Generate keys for <citerefentry><refentrytitle>password-request
71
 
      </refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
 
52
      Generate key and password for Mandos client and server.
72
53
    </refpurpose>
73
54
  </refnamediv>
74
 
 
 
55
  
75
56
  <refsynopsisdiv>
76
57
    <cmdsynopsis>
77
58
      <command>&COMMANDNAME;</command>
143
124
    <cmdsynopsis>
144
125
      <command>&COMMANDNAME;</command>
145
126
      <group choice="req">
 
127
        <arg choice="plain"><option>--password</option></arg>
146
128
        <arg choice="plain"><option>-p</option></arg>
147
 
        <arg choice="plain"><option>--password</option></arg>
 
129
        <arg choice="plain"><option>--passfile
 
130
        <replaceable>FILE</replaceable></option></arg>
 
131
        <arg choice="plain"><option>-F</option>
 
132
        <replaceable>FILE</replaceable></arg>
148
133
      </group>
149
134
      <sbr/>
150
135
      <group>
164
149
    <cmdsynopsis>
165
150
      <command>&COMMANDNAME;</command>
166
151
      <group choice="req">
 
152
        <arg choice="plain"><option>--help</option></arg>
167
153
        <arg choice="plain"><option>-h</option></arg>
168
 
        <arg choice="plain"><option>--help</option></arg>
169
154
      </group>
170
155
    </cmdsynopsis>
171
156
    <cmdsynopsis>
172
157
      <command>&COMMANDNAME;</command>
173
158
      <group choice="req">
 
159
        <arg choice="plain"><option>--version</option></arg>
174
160
        <arg choice="plain"><option>-v</option></arg>
175
 
        <arg choice="plain"><option>--version</option></arg>
176
161
      </group>
177
162
    </cmdsynopsis>
178
163
  </refsynopsisdiv>
179
 
 
 
164
  
180
165
  <refsect1 id="description">
181
166
    <title>DESCRIPTION</title>
182
167
    <para>
183
168
      <command>&COMMANDNAME;</command> is a program to generate the
184
 
      OpenPGP keys used by
185
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
186
 
      <manvolnum>8mandos</manvolnum></citerefentry>.  The keys are
 
169
      OpenPGP key used by
 
170
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
171
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
187
172
      normally written to /etc/mandos for later installation into the
188
 
      initrd image, but this, like most things, can be changed with
189
 
      command line options.
 
173
      initrd image, but this, and most other things, can be changed
 
174
      with command line options.
190
175
    </para>
191
176
    <para>
192
 
      It can also be used to generate ready-made sections for
 
177
      This program can also be used with the
 
178
      <option>--password</option> or <option>--passfile</option>
 
179
      options to generate a ready-made section for
 
180
      <filename>clients.conf</filename> (see
193
181
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
194
 
      <manvolnum>5</manvolnum></citerefentry> using the
195
 
      <option>--password</option> option.
 
182
      <manvolnum>5</manvolnum></citerefentry>).
196
183
    </para>
197
184
  </refsect1>
198
185
  
199
186
  <refsect1 id="purpose">
200
187
    <title>PURPOSE</title>
201
 
 
202
188
    <para>
203
189
      The purpose of this is to enable <emphasis>remote and unattended
204
190
      rebooting</emphasis> of client host computer with an
205
191
      <emphasis>encrypted root file system</emphasis>.  See <xref
206
192
      linkend="overview"/> for details.
207
193
    </para>
208
 
 
209
194
  </refsect1>
210
195
  
211
196
  <refsect1 id="options">
212
197
    <title>OPTIONS</title>
213
 
 
 
198
    
214
199
    <variablelist>
215
200
      <varlistentry>
216
 
        <term><literal>-h</literal>, <literal>--help</literal></term>
 
201
        <term><option>--help</option></term>
 
202
        <term><option>-h</option></term>
217
203
        <listitem>
218
204
          <para>
219
205
            Show a help message and exit
220
206
          </para>
221
207
        </listitem>
222
208
      </varlistentry>
223
 
 
 
209
      
224
210
      <varlistentry>
225
 
        <term><literal>-d</literal>, <literal>--dir
226
 
        <replaceable>directory</replaceable></literal></term>
 
211
        <term><option>--dir
 
212
        <replaceable>DIRECTORY</replaceable></option></term>
 
213
        <term><option>-d
 
214
        <replaceable>DIRECTORY</replaceable></option></term>
227
215
        <listitem>
228
216
          <para>
229
217
            Target directory for key files.  Default is
230
 
            <filename>/etc/mandos</filename>.
231
 
          </para>
232
 
        </listitem>
233
 
      </varlistentry>
234
 
 
235
 
      <varlistentry>
236
 
        <term><literal>-t</literal>, <literal>--type
237
 
        <replaceable>type</replaceable></literal></term>
238
 
        <listitem>
239
 
          <para>
240
 
            Key type.  Default is <quote>DSA</quote>.
241
 
          </para>
242
 
        </listitem>
243
 
      </varlistentry>
244
 
 
245
 
      <varlistentry>
246
 
        <term><literal>-l</literal>, <literal>--length
247
 
        <replaceable>bits</replaceable></literal></term>
248
 
        <listitem>
249
 
          <para>
250
 
            Key length in bits.  Default is 2048.
251
 
          </para>
252
 
        </listitem>
253
 
      </varlistentry>
254
 
 
255
 
      <varlistentry>
256
 
        <term><literal>-s</literal>, <literal>--subtype
257
 
        <replaceable>type</replaceable></literal></term>
258
 
        <listitem>
259
 
          <para>
260
 
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
 
218
            <filename class="directory">/etc/mandos</filename>.
 
219
          </para>
 
220
        </listitem>
 
221
      </varlistentry>
 
222
      
 
223
      <varlistentry>
 
224
        <term><option>--type
 
225
        <replaceable>TYPE</replaceable></option></term>
 
226
        <term><option>-t
 
227
        <replaceable>TYPE</replaceable></option></term>
 
228
        <listitem>
 
229
          <para>
 
230
            Key type.  Default is <quote>RSA</quote>.
 
231
          </para>
 
232
        </listitem>
 
233
      </varlistentry>
 
234
      
 
235
      <varlistentry>
 
236
        <term><option>--length
 
237
        <replaceable>BITS</replaceable></option></term>
 
238
        <term><option>-l
 
239
        <replaceable>BITS</replaceable></option></term>
 
240
        <listitem>
 
241
          <para>
 
242
            Key length in bits.  Default is 4096.
 
243
          </para>
 
244
        </listitem>
 
245
      </varlistentry>
 
246
      
 
247
      <varlistentry>
 
248
        <term><option>--subtype
 
249
        <replaceable>KEYTYPE</replaceable></option></term>
 
250
        <term><option>-s
 
251
        <replaceable>KEYTYPE</replaceable></option></term>
 
252
        <listitem>
 
253
          <para>
 
254
            Subkey type.  Default is <quote>RSA</quote> (Elgamal
261
255
            encryption-only).
262
256
          </para>
263
257
        </listitem>
264
258
      </varlistentry>
265
 
 
 
259
      
266
260
      <varlistentry>
267
 
        <term><literal>-L</literal>, <literal>--sublength
268
 
        <replaceable>bits</replaceable></literal></term>
 
261
        <term><option>--sublength
 
262
        <replaceable>BITS</replaceable></option></term>
 
263
        <term><option>-L
 
264
        <replaceable>BITS</replaceable></option></term>
269
265
        <listitem>
270
266
          <para>
271
 
            Subkey length in bits.  Default is 2048.
 
267
            Subkey length in bits.  Default is 4096.
272
268
          </para>
273
269
        </listitem>
274
270
      </varlistentry>
275
 
 
 
271
      
276
272
      <varlistentry>
277
 
        <term><literal>-e</literal>, <literal>--email</literal>
278
 
        <replaceable>address</replaceable></term>
 
273
        <term><option>--email
 
274
        <replaceable>ADDRESS</replaceable></option></term>
 
275
        <term><option>-e
 
276
        <replaceable>ADDRESS</replaceable></option></term>
279
277
        <listitem>
280
278
          <para>
281
279
            Email address of key.  Default is empty.
282
280
          </para>
283
281
        </listitem>
284
282
      </varlistentry>
285
 
 
 
283
      
286
284
      <varlistentry>
287
 
        <term><literal>-c</literal>, <literal>--comment</literal>
288
 
        <replaceable>comment</replaceable></term>
 
285
        <term><option>--comment
 
286
        <replaceable>TEXT</replaceable></option></term>
 
287
        <term><option>-c
 
288
        <replaceable>TEXT</replaceable></option></term>
289
289
        <listitem>
290
290
          <para>
291
 
            Comment field for key.  The default value is
292
 
            <quote><literal>Mandos client key</literal></quote>.
 
291
            Comment field for key.  Default is empty.
293
292
          </para>
294
293
        </listitem>
295
294
      </varlistentry>
296
 
 
 
295
      
297
296
      <varlistentry>
298
 
        <term><literal>-x</literal>, <literal>--expire</literal>
299
 
        <replaceable>time</replaceable></term>
 
297
        <term><option>--expire
 
298
        <replaceable>TIME</replaceable></option></term>
 
299
        <term><option>-x
 
300
        <replaceable>TIME</replaceable></option></term>
300
301
        <listitem>
301
302
          <para>
302
303
            Key expire time.  Default is no expiration.  See
305
306
          </para>
306
307
        </listitem>
307
308
      </varlistentry>
308
 
 
 
309
      
309
310
      <varlistentry>
310
 
        <term><literal>-f</literal>, <literal>--force</literal></term>
 
311
        <term><option>--force</option></term>
 
312
        <term><option>-f</option></term>
311
313
        <listitem>
312
314
          <para>
313
 
            Force overwriting old keys.
 
315
            Force overwriting old key.
314
316
          </para>
315
317
        </listitem>
316
318
      </varlistentry>
317
319
      <varlistentry>
318
 
        <term><literal>-p</literal>, <literal>--password</literal
319
 
        ></term>
 
320
        <term><option>--password</option></term>
 
321
        <term><option>-p</option></term>
320
322
        <listitem>
321
323
          <para>
322
324
            Prompt for a password and encrypt it with the key already
328
330
            >8</manvolnum></citerefentry>.  The host name or the name
329
331
            specified with the <option>--name</option> option is used
330
332
            for the section header.  All other options are ignored,
331
 
            and no keys are created.
 
333
            and no key is created.
 
334
          </para>
 
335
        </listitem>
 
336
      </varlistentry>
 
337
      <varlistentry>
 
338
        <term><option>--passfile
 
339
        <replaceable>FILE</replaceable></option></term>
 
340
        <term><option>-F
 
341
        <replaceable>FILE</replaceable></option></term>
 
342
        <listitem>
 
343
          <para>
 
344
            The same as <option>--password</option>, but read from
 
345
            <replaceable>FILE</replaceable>, not the terminal.
332
346
          </para>
333
347
        </listitem>
334
348
      </varlistentry>
335
349
    </variablelist>
336
350
  </refsect1>
337
 
 
 
351
  
338
352
  <refsect1 id="overview">
339
353
    <title>OVERVIEW</title>
340
354
    <xi:include href="overview.xml"/>
341
355
    <para>
342
356
      This program is a small utility to generate new OpenPGP keys for
343
 
      new Mandos clients.
 
357
      new Mandos clients, and to generate sections for inclusion in
 
358
      <filename>clients.conf</filename> on the server.
344
359
    </para>
345
360
  </refsect1>
346
 
 
 
361
  
347
362
  <refsect1 id="exit_status">
348
363
    <title>EXIT STATUS</title>
349
364
    <para>
350
 
      The exit status will be 0 if new keys were successfully created,
351
 
      otherwise not.
 
365
      The exit status will be 0 if a new key (or password, if the
 
366
      <option>--password</option> option was used) was successfully
 
367
      created, otherwise not.
352
368
    </para>
353
369
  </refsect1>
354
370
  
368
384
    </variablelist>
369
385
  </refsect1>
370
386
  
371
 
  <refsect1 id="file">
 
387
  <refsect1 id="files">
372
388
    <title>FILES</title>
373
389
    <para>
374
390
      Use the <option>--dir</option> option to change where
395
411
        </listitem>
396
412
      </varlistentry>
397
413
      <varlistentry>
398
 
        <term><filename>/tmp</filename></term>
 
414
        <term><filename class="directory">/tmp</filename></term>
399
415
        <listitem>
400
416
          <para>
401
417
            Temporary files will be written here if
405
421
      </varlistentry>
406
422
    </variablelist>
407
423
  </refsect1>
408
 
 
409
 
  <refsect1 id="bugs">
410
 
    <title>BUGS</title>
411
 
    <para>
412
 
      None are known at this time.
413
 
    </para>
414
 
  </refsect1>
415
 
 
 
424
  
 
425
<!--   <refsect1 id="bugs"> -->
 
426
<!--     <title>BUGS</title> -->
 
427
<!--     <para> -->
 
428
<!--     </para> -->
 
429
<!--   </refsect1> -->
 
430
  
416
431
  <refsect1 id="example">
417
432
    <title>EXAMPLE</title>
418
433
    <informalexample>
425
440
    </informalexample>
426
441
    <informalexample>
427
442
      <para>
428
 
        Create keys in another directory and of another type.  Force
 
443
        Create key in another directory and of another type.  Force
429
444
        overwriting old key files:
430
445
      </para>
431
446
      <para>
435
450
 
436
451
      </para>
437
452
    </informalexample>
 
453
    <informalexample>
 
454
      <para>
 
455
        Prompt for a password, encrypt it with the key in <filename
 
456
        class="directory">/etc/mandos</filename> and output a section
 
457
        suitable for <filename>clients.conf</filename>.
 
458
      </para>
 
459
      <para>
 
460
        <userinput>&COMMANDNAME; --password</userinput>
 
461
      </para>
 
462
    </informalexample>
 
463
    <informalexample>
 
464
      <para>
 
465
        Prompt for a password, encrypt it with the key in the
 
466
        <filename>client-key</filename> directory and output a section
 
467
        suitable for <filename>clients.conf</filename>.
 
468
      </para>
 
469
      <para>
 
470
 
 
471
<!-- do not wrap this line -->
 
472
<userinput>&COMMANDNAME; --password --dir client-key</userinput>
 
473
 
 
474
      </para>
 
475
    </informalexample>
438
476
  </refsect1>
439
 
 
 
477
  
440
478
  <refsect1 id="security">
441
479
    <title>SECURITY</title>
442
480
    <para>
443
481
      The <option>--type</option>, <option>--length</option>,
444
482
      <option>--subtype</option>, and <option>--sublength</option>
445
 
      options can be used to create keys of insufficient security.  If
446
 
      in doubt, leave them to the default values.
 
483
      options can be used to create keys of low security.  If in
 
484
      doubt, leave them to the default values.
447
485
    </para>
448
486
    <para>
449
 
      The key expire time is not guaranteed to be honored by
450
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
487
      The key expire time is <emphasis>not</emphasis> guaranteed to be
 
488
      honored by <citerefentry><refentrytitle>mandos</refentrytitle>
451
489
      <manvolnum>8</manvolnum></citerefentry>.
452
490
    </para>
453
491
  </refsect1>
454
 
 
 
492
  
455
493
  <refsect1 id="see_also">
456
494
    <title>SEE ALSO</title>
457
495
    <para>
 
496
      <citerefentry><refentrytitle>intro</refentrytitle>
 
497
      <manvolnum>8mandos</manvolnum></citerefentry>,
458
498
      <citerefentry><refentrytitle>gpg</refentrytitle>
459
499
      <manvolnum>1</manvolnum></citerefentry>,
 
500
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
 
501
      <manvolnum>5</manvolnum></citerefentry>,
460
502
      <citerefentry><refentrytitle>mandos</refentrytitle>
461
503
      <manvolnum>8</manvolnum></citerefentry>,
462
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
 
504
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
463
505
      <manvolnum>8mandos</manvolnum></citerefentry>
464
506
    </para>
465
507
  </refsect1>