/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

Minor code cleanup; one minor bug fix.

* initramfs-tools-hook: Bug fix: Use the primary group of the first
                        suitable user found, do not look for a
                        group separately.
* mandos: Unconditionally import "struct" and "fcntl".  Use unicode
          strings everywhere possible.
  (Client._datetime_to_milliseconds): New static method.
  (Client.timeout_milliseconds, Client.interval_milliseconds): Use
                                                               above
                                                               method.
  (ClientDBus.CheckedOK,
  ClientDBus.Enable, ClientDBus.StopChecker): Define normally.
  (if_nametoindex): Document non-acceptance of unicode strings.  All
                    callers adjusted.  Do not import "struct" or
                    "fcntl".  Log warning message if if_nametoindex
                    cannot be found using ctypes modules.
  (main): Bug fix: Do not look for user named "nogroup".

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
4
<!ENTITY COMMANDNAME "mandos-keygen">
5
 
<!ENTITY TIMESTAMP "2019-07-18">
 
5
<!ENTITY TIMESTAMP "2009-01-04">
6
6
<!ENTITY % common SYSTEM "common.ent">
7
7
%common;
8
8
]>
19
19
        <firstname>Björn</firstname>
20
20
        <surname>Påhlsson</surname>
21
21
        <address>
22
 
          <email>belorn@recompile.se</email>
 
22
          <email>belorn@fukt.bsnet.se</email>
23
23
        </address>
24
24
      </author>
25
25
      <author>
26
26
        <firstname>Teddy</firstname>
27
27
        <surname>Hogeborn</surname>
28
28
        <address>
29
 
          <email>teddy@recompile.se</email>
 
29
          <email>teddy@fukt.bsnet.se</email>
30
30
        </address>
31
31
      </author>
32
32
    </authorgroup>
33
33
    <copyright>
34
34
      <year>2008</year>
35
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>
42
 
      <year>2016</year>
43
 
      <year>2017</year>
44
 
      <year>2018</year>
45
 
      <year>2019</year>
46
36
      <holder>Teddy Hogeborn</holder>
47
37
      <holder>Björn Påhlsson</holder>
48
38
    </copyright>
127
117
        <replaceable>TIME</replaceable></option></arg>
128
118
      </group>
129
119
      <sbr/>
130
 
      <group>
131
 
        <arg choice="plain"><option>--tls-keytype
132
 
        <replaceable>KEYTYPE</replaceable></option></arg>
133
 
        <arg choice="plain"><option>-T
134
 
        <replaceable>KEYTYPE</replaceable></option></arg>
135
 
      </group>
136
 
      <sbr/>
137
 
      <group>
138
 
        <arg choice="plain"><option>--force</option></arg>
139
 
        <arg choice="plain"><option>-f</option></arg>
140
 
      </group>
 
120
      <arg><option>--force</option></arg>
141
121
    </cmdsynopsis>
142
122
    <cmdsynopsis>
143
123
      <command>&COMMANDNAME;</command>
163
143
        <arg choice="plain"><option>-n
164
144
        <replaceable>NAME</replaceable></option></arg>
165
145
      </group>
166
 
      <group>
167
 
        <arg choice="plain"><option>--no-ssh</option></arg>
168
 
        <arg choice="plain"><option>-S</option></arg>
169
 
      </group>
170
146
    </cmdsynopsis>
171
147
    <cmdsynopsis>
172
148
      <command>&COMMANDNAME;</command>
188
164
    <title>DESCRIPTION</title>
189
165
    <para>
190
166
      <command>&COMMANDNAME;</command> is a program to generate the
191
 
      TLS and OpenPGP keys used by
 
167
      OpenPGP key used by
192
168
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
193
 
      <manvolnum>8mandos</manvolnum></citerefentry>.  The keys are
194
 
      normally written to /etc/keys/mandos for later installation into
195
 
      the initrd image, but this, and most other things, can be
196
 
      changed with command line options.
 
169
      <manvolnum>8mandos</manvolnum></citerefentry>.  The key is
 
170
      normally written to /etc/mandos for later installation into the
 
171
      initrd image, but this, and most other things, can be changed
 
172
      with command line options.
197
173
    </para>
198
174
    <para>
199
175
      This program can also be used with the
236
212
        <replaceable>DIRECTORY</replaceable></option></term>
237
213
        <listitem>
238
214
          <para>
239
 
            Target directory for key files.  Default is <filename
240
 
            class="directory">/etc/keys/mandos</filename>.
 
215
            Target directory for key files.  Default is
 
216
            <filename>/etc/mandos</filename>.
241
217
          </para>
242
218
        </listitem>
243
219
      </varlistentry>
249
225
        <replaceable>TYPE</replaceable></option></term>
250
226
        <listitem>
251
227
          <para>
252
 
            OpenPGP key type.  Default is <quote>RSA</quote>.
 
228
            Key type.  Default is <quote>DSA</quote>.
253
229
          </para>
254
230
        </listitem>
255
231
      </varlistentry>
261
237
        <replaceable>BITS</replaceable></option></term>
262
238
        <listitem>
263
239
          <para>
264
 
            OpenPGP key length in bits.  Default is 4096.
 
240
            Key length in bits.  Default is 2048.
265
241
          </para>
266
242
        </listitem>
267
243
      </varlistentry>
273
249
        <replaceable>KEYTYPE</replaceable></option></term>
274
250
        <listitem>
275
251
          <para>
276
 
            OpenPGP subkey type.  Default is <quote>RSA</quote>
 
252
            Subkey type.  Default is <quote>ELG-E</quote> (Elgamal
 
253
            encryption-only).
277
254
          </para>
278
255
        </listitem>
279
256
      </varlistentry>
285
262
        <replaceable>BITS</replaceable></option></term>
286
263
        <listitem>
287
264
          <para>
288
 
            OpenPGP subkey length in bits.  Default is 4096.
 
265
            Subkey length in bits.  Default is 2048.
289
266
          </para>
290
267
        </listitem>
291
268
      </varlistentry>
309
286
        <replaceable>TEXT</replaceable></option></term>
310
287
        <listitem>
311
288
          <para>
312
 
            Comment field for key.  Default is empty.
 
289
            Comment field for key.  The default value is
 
290
            <quote><literal>Mandos client key</literal></quote>.
313
291
          </para>
314
292
        </listitem>
315
293
      </varlistentry>
329
307
      </varlistentry>
330
308
      
331
309
      <varlistentry>
332
 
        <term><option>--tls-keytype
333
 
        <replaceable>KEYTYPE</replaceable></option></term>
334
 
        <term><option>-T
335
 
        <replaceable>KEYTYPE</replaceable></option></term>
336
 
        <listitem>
337
 
          <para>
338
 
            TLS key type.  Default is <quote>ed25519</quote>
339
 
          </para>
340
 
        </listitem>
341
 
      </varlistentry>
342
 
      
343
 
      <varlistentry>
344
310
        <term><option>--force</option></term>
345
311
        <term><option>-f</option></term>
346
312
        <listitem>
355
321
        <listitem>
356
322
          <para>
357
323
            Prompt for a password and encrypt it with the key already
358
 
            present in either <filename>/etc/keys/mandos</filename> or
359
 
            the directory specified with the <option>--dir</option>
 
324
            present in either <filename>/etc/mandos</filename> or the
 
325
            directory specified with the <option>--dir</option>
360
326
            option.  Outputs, on standard output, a section suitable
361
327
            for inclusion in <citerefentry><refentrytitle
362
328
            >mandos-clients.conf</refentrytitle><manvolnum
363
329
            >8</manvolnum></citerefentry>.  The host name or the name
364
330
            specified with the <option>--name</option> option is used
365
331
            for the section header.  All other options are ignored,
366
 
            and no key is created.  Note: white space is stripped from
367
 
            the beginning and from the end of the password; See <xref
368
 
            linkend="bugs"/>.
 
332
            and no key is created.
369
333
          </para>
370
334
        </listitem>
371
335
      </varlistentry>
377
341
        <listitem>
378
342
          <para>
379
343
            The same as <option>--password</option>, but read from
380
 
            <replaceable>FILE</replaceable>, not the terminal, and
381
 
            white space is not stripped from the password in any way.
382
 
          </para>
383
 
        </listitem>
384
 
      </varlistentry>
385
 
      <varlistentry>
386
 
        <term><option>--no-ssh</option></term>
387
 
        <term><option>-S</option></term>
388
 
        <listitem>
389
 
          <para>
390
 
            When <option>--password</option> or
391
 
            <option>--passfile</option> is given, this option will
392
 
            prevent <command>&COMMANDNAME;</command> from calling
393
 
            <command>ssh-keyscan</command> to get an SSH fingerprint
394
 
            for this host and, if successful, output suitable config
395
 
            options to use this fingerprint as a
396
 
            <option>checker</option> option in the output.  This is
397
 
            otherwise the default behavior.
 
344
            <replaceable>FILE</replaceable>, not the terminal.
398
345
          </para>
399
346
        </listitem>
400
347
      </varlistentry>
405
352
    <title>OVERVIEW</title>
406
353
    <xi:include href="overview.xml"/>
407
354
    <para>
408
 
      This program is a small utility to generate new TLS and OpenPGP
409
 
      keys for new Mandos clients, and to generate sections for
410
 
      inclusion in <filename>clients.conf</filename> on the server.
 
355
      This program is a small utility to generate new OpenPGP keys for
 
356
      new Mandos clients, and to generate sections for inclusion in
 
357
      <filename>clients.conf</filename> on the server.
411
358
    </para>
412
359
  </refsect1>
413
360
  
445
392
    </para>
446
393
    <variablelist>
447
394
      <varlistentry>
448
 
        <term><filename>/etc/keys/mandos/seckey.txt</filename></term>
 
395
        <term><filename>/etc/mandos/seckey.txt</filename></term>
449
396
        <listitem>
450
397
          <para>
451
398
            OpenPGP secret key file which will be created or
454
401
        </listitem>
455
402
      </varlistentry>
456
403
      <varlistentry>
457
 
        <term><filename>/etc/keys/mandos/pubkey.txt</filename></term>
 
404
        <term><filename>/etc/mandos/pubkey.txt</filename></term>
458
405
        <listitem>
459
406
          <para>
460
407
            OpenPGP public key file which will be created or
463
410
        </listitem>
464
411
      </varlistentry>
465
412
      <varlistentry>
466
 
        <term><filename>/etc/keys/mandos/tls-privkey.pem</filename></term>
467
 
        <listitem>
468
 
          <para>
469
 
            Private key file which will be created or overwritten.
470
 
          </para>
471
 
        </listitem>
472
 
      </varlistentry>
473
 
      <varlistentry>
474
 
        <term><filename>/etc/keys/mandos/tls-pubkey.pem</filename></term>
475
 
        <listitem>
476
 
          <para>
477
 
            Public key file which will be created or overwritten.
478
 
          </para>
479
 
        </listitem>
480
 
      </varlistentry>
481
 
      <varlistentry>
482
 
        <term><filename class="directory">/tmp</filename></term>
 
413
        <term><filename>/tmp</filename></term>
483
414
        <listitem>
484
415
          <para>
485
416
            Temporary files will be written here if
490
421
    </variablelist>
491
422
  </refsect1>
492
423
  
493
 
  <refsect1 id="bugs">
494
 
    <title>BUGS</title>
495
 
    <para>
496
 
      The <option>--password</option>/<option>-p</option> option
497
 
      strips white space from the start and from the end of the
498
 
      password before using it.  If this is a problem, use the
499
 
      <option>--passfile</option> option instead, which does not do
500
 
      this.
501
 
    </para>
502
 
    <xi:include href="bugs.xml"/>
503
 
  </refsect1>
 
424
<!--   <refsect1 id="bugs"> -->
 
425
<!--     <title>BUGS</title> -->
 
426
<!--     <para> -->
 
427
<!--     </para> -->
 
428
<!--   </refsect1> -->
504
429
  
505
430
  <refsect1 id="example">
506
431
    <title>EXAMPLE</title>
526
451
    </informalexample>
527
452
    <informalexample>
528
453
      <para>
529
 
        Prompt for a password, encrypt it with the keys in <filename
530
 
        class="directory">/etc/keys/mandos</filename> and output a
531
 
        section suitable for <filename>clients.conf</filename>.
 
454
        Prompt for a password, encrypt it with the key in
 
455
        <filename>/etc/mandos</filename> and output a section suitable
 
456
        for <filename>clients.conf</filename>.
532
457
      </para>
533
458
      <para>
534
459
        <userinput>&COMMANDNAME; --password</userinput>
536
461
    </informalexample>
537
462
    <informalexample>
538
463
      <para>
539
 
        Prompt for a password, encrypt it with the keys in the
 
464
        Prompt for a password, encrypt it with the key in the
540
465
        <filename>client-key</filename> directory and output a section
541
466
        suitable for <filename>clients.conf</filename>.
542
467
      </para>
567
492
  <refsect1 id="see_also">
568
493
    <title>SEE ALSO</title>
569
494
    <para>
570
 
      <citerefentry><refentrytitle>intro</refentrytitle>
571
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
572
495
      <citerefentry><refentrytitle>gpg</refentrytitle>
573
496
      <manvolnum>1</manvolnum></citerefentry>,
574
497
      <citerefentry><refentrytitle>mandos-clients.conf</refentrytitle>
576
499
      <citerefentry><refentrytitle>mandos</refentrytitle>
577
500
      <manvolnum>8</manvolnum></citerefentry>,
578
501
      <citerefentry><refentrytitle>mandos-client</refentrytitle>
579
 
      <manvolnum>8mandos</manvolnum></citerefentry>,
580
 
      <citerefentry><refentrytitle>ssh-keyscan</refentrytitle>
581
 
      <manvolnum>1</manvolnum></citerefentry>
 
502
      <manvolnum>8mandos</manvolnum></citerefentry>
582
503
    </para>
583
504
  </refsect1>
584
505