plugin-loader: Optionally use load option in each plugin section to load plugins
[strongswan.git] / src / pki / man / pki---gen.1.in
1 .TH "PKI \-\-GEN" 1 "2013-07-31" "@PACKAGE_VERSION@" "strongSwan"
2 .
3 .SH "NAME"
4 .
5 pki \-\-gen \- Generate a new RSA or ECDSA private key
6 .
7 .SH "SYNOPSIS"
8 .
9 .SY pki\ \-\-gen
10 .OP \-\-type type
11 .OP \-\-size bits
12 .OP \-\-safe\-primes
13 .OP \-\-shares n
14 .OP \-\-threshold l
15 .OP \-\-outform encoding
16 .OP \-\-debug level
17 .YS
18 .
19 .SY pki\ \-\-gen
20 .BI \-\-options\~ file
21 .YS
22 .
23 .SY "pki \-\-gen"
24 .B \-h
25 |
26 .B \-\-help
27 .YS
28 .
29 .SH "DESCRIPTION"
30 .
31 This sub-command of
32 .BR pki (1)
33 is used to generate a new RSA or ECDSA private key.
34 .
35 .SH "OPTIONS"
36 .
37 .TP
38 .B "\-h, \-\-help"
39 Print usage information with a summary of the available options.
40 .TP
41 .BI "\-v, \-\-debug " level
42 Set debug level, default: 1.
43 .TP
44 .BI "\-+, \-\-options " file
45 Read command line options from \fIfile\fR.
46 .TP
47 .BI "\-t, \-\-type " type
48 Type of key to generate. Either \fIrsa\fR or \fIecdsa\fR, defaults to \fIrsa\fR.
49 .TP
50 .BI "\-s, \-\-size " bits
51 Key length in bits. Defaults to 2048 for \fIrsa\fR and 384 for \fIecdsa\fR.
52 For \fIecdsa\fR only three values are currently supported: 256, 384 and 521.
53 .TP
54 .BI "\-p, \-\-safe\-primes"
55 Generate RSA safe primes.
56 .TP
57 .BI "\-f, \-\-outform " encoding
58 Encoding of the generated private key. Either \fIder\fR (ASN.1 DER) or \fIpem\fR
59 (Base64 PEM), defaults
60 to \fIder\fR.
61 .PP
62 .SS "RSA Threshold Cryptography"
63 .TP
64 .BI "\-n, \-\-shares " <n>
65 Number of private RSA key shares.
66 .TP
67 .BI "\-l, \-\-threshold " <l>
68 Minimum number of participating RSA key shares.
69 .
70 .SH "PROBLEMS ON HOSTS WITH LOW ENTROPY"
71 .
72 If the
73 .I gmp
74 plugin is used to generate RSA private keys the key material is read from
75 .I /dev/random
76 (via the
77 .I random
78 plugin). Therefore, the command may block if the system's entropy pool is empty.
79 To avoid this, either use a hardware random number generator to feed
80 .I /dev/random
81 or use OpenSSL (via the
82 .I openssl
83 plugin or the command line) which is not as strict in regards to the quality of
84 the key material (it reads from
85 .I /dev/urandom
86 if necessary). It is also possible to configure the devices used by the
87 .I random
88 plugin in
89 .BR strongswan.conf (5).
90 Setting
91 .B libstrongswan.plugins.random.random
92 to
93 .I /dev/urandom
94 forces the plugin to treat bytes read from
95 .I /dev/urandom
96 as high grade random data, thus avoiding the blocking. Of
97 course, this doesn't change the fact that the key material generated this way is
98 of lower quality.
99 .
100 .SH "EXAMPLES"
101 .
102 .TP
103 .B pki \-\-gen \-\-size 3072 > rsa_key.der
104 Generates a 3072-bit RSA private key.
105 .
106 .TP
107 .B pki \-\-gen \-\-type ecdsa \-\-size 256 > ecdsa_key.der
108 Generates a 256-bit ECDSA private key.
109 .
110 .SH "SEE ALSO"
111 .
112 .BR pki (1)