/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: 2016-02-21 12:43:51 UTC
  • mto: (237.7.594 trunk)
  • mto: This revision was merged to the branch mainline in revision 331.
  • Revision ID: teddy@recompile.se-20160221124351-3g9bc5eu90at8yis
plugin-runner.c: Use size_t to realloc() for custom plugin args.

* plugin-runner.c (main): Cast argument to realloc() to size_t when
                          allocating additional custom plugin command
                          line arguments.

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 "2015-07-20">
 
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>2010</year>
 
37
      <year>2011</year>
 
38
      <year>2012</year>
 
39
      <year>2013</year>
 
40
      <year>2014</year>
 
41
      <year>2015</year>
34
42
      <holder>Teddy Hogeborn</holder>
35
43
      <holder>Björn Påhlsson</holder>
36
44
    </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>
 
45
    <xi:include href="legalnotice.xml"/>
60
46
  </refentryinfo>
61
 
 
 
47
  
62
48
  <refmeta>
63
49
    <refentrytitle>&COMMANDNAME;</refentrytitle>
64
50
    <manvolnum>8</manvolnum>
67
53
  <refnamediv>
68
54
    <refname><command>&COMMANDNAME;</command></refname>
69
55
    <refpurpose>
70
 
      Generate keys for <citerefentry><refentrytitle>password-request
71
 
      </refentrytitle><manvolnum>8mandos</manvolnum></citerefentry>
 
56
      Generate key and password for Mandos client and server.
72
57
    </refpurpose>
73
58
  </refnamediv>
74
 
 
 
59
  
75
60
  <refsynopsisdiv>
76
61
    <cmdsynopsis>
77
62
      <command>&COMMANDNAME;</command>
138
123
        <replaceable>TIME</replaceable></option></arg>
139
124
      </group>
140
125
      <sbr/>
141
 
      <arg><option>--force</option></arg>
 
126
      <group>
 
127
        <arg choice="plain"><option>--force</option></arg>
 
128
        <arg choice="plain"><option>-f</option></arg>
 
129
      </group>
142
130
    </cmdsynopsis>
143
131
    <cmdsynopsis>
144
132
      <command>&COMMANDNAME;</command>
145
133
      <group choice="req">
 
134
        <arg choice="plain"><option>--password</option></arg>
146
135
        <arg choice="plain"><option>-p</option></arg>
147
 
        <arg choice="plain"><option>--password</option></arg>
 
136
        <arg choice="plain"><option>--passfile
 
137
        <replaceable>FILE</replaceable></option></arg>
 
138
        <arg choice="plain"><option>-F</option>
 
139
        <replaceable>FILE</replaceable></arg>
148
140
      </group>
149
141
      <sbr/>
150
142
      <group>
160
152
        <arg choice="plain"><option>-n
161
153
        <replaceable>NAME</replaceable></option></arg>
162
154
      </group>
 
155
      <group>
 
156
        <arg choice="plain"><option>--no-ssh</option></arg>
 
157
        <arg choice="plain"><option>-S</option></arg>
 
158
      </group>
163
159
    </cmdsynopsis>
164
160
    <cmdsynopsis>
165
161
      <command>&COMMANDNAME;</command>
166
162
      <group choice="req">
 
163
        <arg choice="plain"><option>--help</option></arg>
167
164
        <arg choice="plain"><option>-h</option></arg>
168
 
        <arg choice="plain"><option>--help</option></arg>
169
165
      </group>
170
166
    </cmdsynopsis>
171
167
    <cmdsynopsis>
172
168
      <command>&COMMANDNAME;</command>
173
169
      <group choice="req">
 
170
        <arg choice="plain"><option>--version</option></arg>
174
171
        <arg choice="plain"><option>-v</option></arg>
175
 
        <arg choice="plain"><option>--version</option></arg>
176
172
      </group>
177
173
    </cmdsynopsis>
178
174
  </refsynopsisdiv>
179
 
 
 
175
  
180
176
  <refsect1 id="description">
181
177
    <title>DESCRIPTION</title>
182
178
    <para>
183
179
      <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
 
180
      OpenPGP key used by
 
181
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
182
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
187
183
      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.
 
184
      initrd image, but this, and most other things, can be changed
 
185
      with command line options.
190
186
    </para>
191
187
    <para>
192
 
      It can also be used to generate ready-made sections for
 
188
      This program can also be used with the
 
189
      <option>--password</option> or <option>--passfile</option>
 
190
      options to generate a ready-made section for
 
191
      <filename>clients.conf</filename> (see
193
192
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
194
 
      <manvolnum>5</manvolnum></citerefentry> using the
195
 
      <option>--password</option> option.
 
193
      <manvolnum>5</manvolnum></citerefentry>).
196
194
    </para>
197
195
  </refsect1>
198
196
  
199
197
  <refsect1 id="purpose">
200
198
    <title>PURPOSE</title>
201
 
 
202
199
    <para>
203
200
      The purpose of this is to enable <emphasis>remote and unattended
204
201
      rebooting</emphasis> of client host computer with an
205
202
      <emphasis>encrypted root file system</emphasis>.  See <xref
206
203
      linkend="overview"/> for details.
207
204
    </para>
208
 
 
209
205
  </refsect1>
210
206
  
211
207
  <refsect1 id="options">
212
208
    <title>OPTIONS</title>
213
 
 
 
209
    
214
210
    <variablelist>
215
211
      <varlistentry>
216
 
        <term><literal>-h</literal>, <literal>--help</literal></term>
 
212
        <term><option>--help</option></term>
 
213
        <term><option>-h</option></term>
217
214
        <listitem>
218
215
          <para>
219
216
            Show a help message and exit
220
217
          </para>
221
218
        </listitem>
222
219
      </varlistentry>
223
 
 
 
220
      
224
221
      <varlistentry>
225
 
        <term><literal>-d</literal>, <literal>--dir
226
 
        <replaceable>directory</replaceable></literal></term>
 
222
        <term><option>--dir
 
223
        <replaceable>DIRECTORY</replaceable></option></term>
 
224
        <term><option>-d
 
225
        <replaceable>DIRECTORY</replaceable></option></term>
227
226
        <listitem>
228
227
          <para>
229
228
            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
 
229
            <filename class="directory">/etc/mandos</filename>.
 
230
          </para>
 
231
        </listitem>
 
232
      </varlistentry>
 
233
      
 
234
      <varlistentry>
 
235
        <term><option>--type
 
236
        <replaceable>TYPE</replaceable></option></term>
 
237
        <term><option>-t
 
238
        <replaceable>TYPE</replaceable></option></term>
 
239
        <listitem>
 
240
          <para>
 
241
            Key type.  Default is <quote>RSA</quote>.
 
242
          </para>
 
243
        </listitem>
 
244
      </varlistentry>
 
245
      
 
246
      <varlistentry>
 
247
        <term><option>--length
 
248
        <replaceable>BITS</replaceable></option></term>
 
249
        <term><option>-l
 
250
        <replaceable>BITS</replaceable></option></term>
 
251
        <listitem>
 
252
          <para>
 
253
            Key length in bits.  Default is 4096.
 
254
          </para>
 
255
        </listitem>
 
256
      </varlistentry>
 
257
      
 
258
      <varlistentry>
 
259
        <term><option>--subtype
 
260
        <replaceable>KEYTYPE</replaceable></option></term>
 
261
        <term><option>-s
 
262
        <replaceable>KEYTYPE</replaceable></option></term>
 
263
        <listitem>
 
264
          <para>
 
265
            Subkey type.  Default is <quote>RSA</quote> (Elgamal
261
266
            encryption-only).
262
267
          </para>
263
268
        </listitem>
264
269
      </varlistentry>
265
 
 
 
270
      
266
271
      <varlistentry>
267
 
        <term><literal>-L</literal>, <literal>--sublength
268
 
        <replaceable>bits</replaceable></literal></term>
 
272
        <term><option>--sublength
 
273
        <replaceable>BITS</replaceable></option></term>
 
274
        <term><option>-L
 
275
        <replaceable>BITS</replaceable></option></term>
269
276
        <listitem>
270
277
          <para>
271
 
            Subkey length in bits.  Default is 2048.
 
278
            Subkey length in bits.  Default is 4096.
272
279
          </para>
273
280
        </listitem>
274
281
      </varlistentry>
275
 
 
 
282
      
276
283
      <varlistentry>
277
 
        <term><literal>-e</literal>, <literal>--email</literal>
278
 
        <replaceable>address</replaceable></term>
 
284
        <term><option>--email
 
285
        <replaceable>ADDRESS</replaceable></option></term>
 
286
        <term><option>-e
 
287
        <replaceable>ADDRESS</replaceable></option></term>
279
288
        <listitem>
280
289
          <para>
281
290
            Email address of key.  Default is empty.
282
291
          </para>
283
292
        </listitem>
284
293
      </varlistentry>
285
 
 
 
294
      
286
295
      <varlistentry>
287
 
        <term><literal>-c</literal>, <literal>--comment</literal>
288
 
        <replaceable>comment</replaceable></term>
 
296
        <term><option>--comment
 
297
        <replaceable>TEXT</replaceable></option></term>
 
298
        <term><option>-c
 
299
        <replaceable>TEXT</replaceable></option></term>
289
300
        <listitem>
290
301
          <para>
291
 
            Comment field for key.  The default value is
292
 
            <quote><literal>Mandos client key</literal></quote>.
 
302
            Comment field for key.  Default is empty.
293
303
          </para>
294
304
        </listitem>
295
305
      </varlistentry>
296
 
 
 
306
      
297
307
      <varlistentry>
298
 
        <term><literal>-x</literal>, <literal>--expire</literal>
299
 
        <replaceable>time</replaceable></term>
 
308
        <term><option>--expire
 
309
        <replaceable>TIME</replaceable></option></term>
 
310
        <term><option>-x
 
311
        <replaceable>TIME</replaceable></option></term>
300
312
        <listitem>
301
313
          <para>
302
314
            Key expire time.  Default is no expiration.  See
305
317
          </para>
306
318
        </listitem>
307
319
      </varlistentry>
308
 
 
 
320
      
309
321
      <varlistentry>
310
 
        <term><literal>-f</literal>, <literal>--force</literal></term>
 
322
        <term><option>--force</option></term>
 
323
        <term><option>-f</option></term>
311
324
        <listitem>
312
325
          <para>
313
 
            Force overwriting old keys.
 
326
            Force overwriting old key.
314
327
          </para>
315
328
        </listitem>
316
329
      </varlistentry>
317
330
      <varlistentry>
318
 
        <term><literal>-p</literal>, <literal>--password</literal
319
 
        ></term>
 
331
        <term><option>--password</option></term>
 
332
        <term><option>-p</option></term>
320
333
        <listitem>
321
334
          <para>
322
335
            Prompt for a password and encrypt it with the key already
328
341
            >8</manvolnum></citerefentry>.  The host name or the name
329
342
            specified with the <option>--name</option> option is used
330
343
            for the section header.  All other options are ignored,
331
 
            and no keys are created.
 
344
            and no key is created.
 
345
          </para>
 
346
        </listitem>
 
347
      </varlistentry>
 
348
      <varlistentry>
 
349
        <term><option>--passfile
 
350
        <replaceable>FILE</replaceable></option></term>
 
351
        <term><option>-F
 
352
        <replaceable>FILE</replaceable></option></term>
 
353
        <listitem>
 
354
          <para>
 
355
            The same as <option>--password</option>, but read from
 
356
            <replaceable>FILE</replaceable>, not the terminal.
 
357
          </para>
 
358
        </listitem>
 
359
      </varlistentry>
 
360
      <varlistentry>
 
361
        <term><option>--no-ssh</option></term>
 
362
        <term><option>-S</option></term>
 
363
        <listitem>
 
364
          <para>
 
365
            When <option>--password</option> or
 
366
            <option>--passfile</option> is given, this option will
 
367
            prevent <command>&COMMANDNAME;</command> from calling
 
368
            <command>ssh-keyscan</command> to get an SSH fingerprint
 
369
            for this host and, if successful, output suitable config
 
370
            options to use this fingerprint as a
 
371
            <option>checker</option> option in the output.  This is
 
372
            otherwise the default behavior.
332
373
          </para>
333
374
        </listitem>
334
375
      </varlistentry>
335
376
    </variablelist>
336
377
  </refsect1>
337
 
 
 
378
  
338
379
  <refsect1 id="overview">
339
380
    <title>OVERVIEW</title>
340
381
    <xi:include href="overview.xml"/>
341
382
    <para>
342
383
      This program is a small utility to generate new OpenPGP keys for
343
 
      new Mandos clients.
 
384
      new Mandos clients, and to generate sections for inclusion in
 
385
      <filename>clients.conf</filename> on the server.
344
386
    </para>
345
387
  </refsect1>
346
 
 
 
388
  
347
389
  <refsect1 id="exit_status">
348
390
    <title>EXIT STATUS</title>
349
391
    <para>
350
 
      The exit status will be 0 if new keys were successfully created,
351
 
      otherwise not.
 
392
      The exit status will be 0 if a new key (or password, if the
 
393
      <option>--password</option> option was used) was successfully
 
394
      created, otherwise not.
352
395
    </para>
353
396
  </refsect1>
354
397
  
368
411
    </variablelist>
369
412
  </refsect1>
370
413
  
371
 
  <refsect1 id="file">
 
414
  <refsect1 id="files">
372
415
    <title>FILES</title>
373
416
    <para>
374
417
      Use the <option>--dir</option> option to change where
395
438
        </listitem>
396
439
      </varlistentry>
397
440
      <varlistentry>
398
 
        <term><filename>/tmp</filename></term>
 
441
        <term><filename class="directory">/tmp</filename></term>
399
442
        <listitem>
400
443
          <para>
401
444
            Temporary files will be written here if
405
448
      </varlistentry>
406
449
    </variablelist>
407
450
  </refsect1>
408
 
 
409
 
  <refsect1 id="bugs">
410
 
    <title>BUGS</title>
411
 
    <para>
412
 
      None are known at this time.
413
 
    </para>
414
 
  </refsect1>
415
 
 
 
451
  
 
452
<!--   <refsect1 id="bugs"> -->
 
453
<!--     <title>BUGS</title> -->
 
454
<!--     <para> -->
 
455
<!--     </para> -->
 
456
<!--   </refsect1> -->
 
457
  
416
458
  <refsect1 id="example">
417
459
    <title>EXAMPLE</title>
418
460
    <informalexample>
425
467
    </informalexample>
426
468
    <informalexample>
427
469
      <para>
428
 
        Create keys in another directory and of another type.  Force
 
470
        Create key in another directory and of another type.  Force
429
471
        overwriting old key files:
430
472
      </para>
431
473
      <para>
435
477
 
436
478
      </para>
437
479
    </informalexample>
 
480
    <informalexample>
 
481
      <para>
 
482
        Prompt for a password, encrypt it with the key in <filename
 
483
        class="directory">/etc/mandos</filename> and output a section
 
484
        suitable for <filename>clients.conf</filename>.
 
485
      </para>
 
486
      <para>
 
487
        <userinput>&COMMANDNAME; --password</userinput>
 
488
      </para>
 
489
    </informalexample>
 
490
    <informalexample>
 
491
      <para>
 
492
        Prompt for a password, encrypt it with the key in the
 
493
        <filename>client-key</filename> directory and output a section
 
494
        suitable for <filename>clients.conf</filename>.
 
495
      </para>
 
496
      <para>
 
497
 
 
498
<!-- do not wrap this line -->
 
499
<userinput>&COMMANDNAME; --password --dir client-key</userinput>
 
500
 
 
501
      </para>
 
502
    </informalexample>
438
503
  </refsect1>
439
 
 
 
504
  
440
505
  <refsect1 id="security">
441
506
    <title>SECURITY</title>
442
507
    <para>
443
508
      The <option>--type</option>, <option>--length</option>,
444
509
      <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.
 
510
      options can be used to create keys of low security.  If in
 
511
      doubt, leave them to the default values.
447
512
    </para>
448
513
    <para>
449
 
      The key expire time is not guaranteed to be honored by
450
 
      <citerefentry><refentrytitle>mandos</refentrytitle>
 
514
      The key expire time is <emphasis>not</emphasis> guaranteed to be
 
515
      honored by <citerefentry><refentrytitle>mandos</refentrytitle>
451
516
      <manvolnum>8</manvolnum></citerefentry>.
452
517
    </para>
453
518
  </refsect1>
454
 
 
 
519
  
455
520
  <refsect1 id="see_also">
456
521
    <title>SEE ALSO</title>
457
522
    <para>
 
523
      <citerefentry><refentrytitle>intro</refentrytitle>
 
524
      <manvolnum>8mandos</manvolnum></citerefentry>,
458
525
      <citerefentry><refentrytitle>gpg</refentrytitle>
459
526
      <manvolnum>1</manvolnum></citerefentry>,
 
527
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
 
528
      <manvolnum>5</manvolnum></citerefentry>,
460
529
      <citerefentry><refentrytitle>mandos</refentrytitle>
461
530
      <manvolnum>8</manvolnum></citerefentry>,
462
 
      <citerefentry><refentrytitle>password-request</refentrytitle>
463
 
      <manvolnum>8mandos</manvolnum></citerefentry>
 
531
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
 
532
      <manvolnum>8mandos</manvolnum></citerefentry>,
 
533
      <citerefentry><refentrytitle>ssh-keyscan</refentrytitle>
 
534
      <manvolnum>1</manvolnum></citerefentry>
464
535
    </para>
465
536
  </refsect1>
466
537