unit-tests: Fix "using integer constants in boolean context" warning
[strongswan.git] / src / pki / man / pki---self.1.in
1 .TH "PKI \-\-SELF" 1 "2016-12-13" "@PACKAGE_VERSION@" "strongSwan"
2 .
3 .SH "NAME"
4 .
5 pki \-\-self \- Create a self-signed certificate
6 .
7 .SH "SYNOPSIS"
8 .
9 .SY pki\ \-\-self
10 .RB [ \-\-in
11 .IR file | \fB\-\-keyid\fR
12 .IR hex ]
13 .OP \-\-type t
14 .BI \-\-dn\~ distinguished-name
15 .OP \-\-san subjectAltName
16 .OP \-\-lifetime days
17 .OP \-\-not-before datetime
18 .OP \-\-not-after datetime
19 .OP \-\-serial hex
20 .OP \-\-flag flag
21 .OP \-\-digest digest
22 .OP \-\-ca
23 .OP \-\-ocsp uri
24 .OP \-\-pathlen len
25 .OP \-\-addrblock block
26 .OP \-\-nc-permitted name
27 .OP \-\-nc-excluded name
28 .OP \-\-policy\-mapping mapping
29 .OP \-\-policy\-explicit len
30 .OP \-\-policy\-inhibit len
31 .OP \-\-policy\-any len
32 .OP \-\-cert\-policy oid\ \fR[\fB\-\-cps\-uri\ \fIuri\fR]\ \fR[\fB\-\-user\-notice\ \fItext\fR]
33 .OP \-\-outform encoding
34 .OP \-\-debug level
35 .YS
36 .
37 .SY pki\ \-\-self
38 .BI \-\-options\~ file
39 .YS
40 .
41 .SY "pki \-\-self"
42 .B \-h
43 |
44 .B \-\-help
45 .YS
46 .
47 .SH "DESCRIPTION"
48 .
49 This sub-command of
50 .BR pki (1)
51 is used to create a self-signed certificate.
52 .
53 .SH "OPTIONS"
54 .
55 .TP
56 .B "\-h, \-\-help"
57 Print usage information with a summary of the available options.
58 .TP
59 .BI "\-v, \-\-debug " level
60 Set debug level, default: 1.
61 .TP
62 .BI "\-+, \-\-options " file
63 Read command line options from \fIfile\fR.
64 .TP
65 .BI "\-i, \-\-in " file
66 Private key input file. If not given the key is read from \fISTDIN\fR.
67 .TP
68 .BI "\-x, \-\-keyid " hex
69 Smartcard or TPM private key object handle in hex format with an optional
70 0x prefix.
71 .TP
72 .BI "\-t, \-\-type " type
73 Type of the input key. Either \fIpriv\fR, \fIrsa\fR, \fIecdsa\fR, \fIed25519\fR
74 or \fIbliss\fR, defaults to \fIpriv\fR.
75 .TP
76 .BI "\-d, \-\-dn " distinguished-name
77 Subject and issuer distinguished name (DN). Required.
78 .TP
79 .BI "\-a, \-\-san " subjectAltName
80 subjectAltName extension to include in certificate. Can be used multiple times.
81 .TP
82 .BI "\-l, \-\-lifetime " days
83 Days the certificate is valid, default: 1095. Ignored if both
84 an absolute start and end time are given.
85 .TP
86 .BI "\-F, \-\-not-before " datetime
87 Absolute time when the validity of the certificate begins. The datetime format
88 is defined by the
89 .B \-\-dateform
90 option.
91 .TP
92 .BI "\-T, \-\-not-after " datetime
93 Absolute time when the validity of the certificate ends. The datetime format is
94 defined by the
95 .B \-\-dateform
96 option.
97 .TP
98 .BI "\-D, \-\-dateform " form
99 strptime(3) format for the
100 .B \-\-not\-before
101 and
102 .B \-\-not\-after
103 options, default:
104 .B %d.%m.%y %T
105 .TP
106 .BI "\-s, \-\-serial " hex
107 Serial number in hex. It is randomly allocated by default.
108 .TP
109 .BI "\-e, \-\-flag " flag
110 Add extendedKeyUsage flag. One of \fIserverAuth\fR, \fIclientAuth\fR,
111 \fIcrlSign\fR, or \fIocspSigning\fR. Can be used multiple times.
112 .TP
113 .BI "\-g, \-\-digest " digest
114 Digest to use for signature creation. One of \fImd5\fR, \fIsha1\fR,
115 \fIsha224\fR, \fIsha256\fR, \fIsha384\fR, or \fIsha512\fR.  The default is
116 determined based on the type and size of the signature key.
117 .TP
118 .BI "\-f, \-\-outform " encoding
119 Encoding of the created certificate file. Either \fIder\fR (ASN.1 DER) or
120 \fIpem\fR (Base64 PEM), defaults to \fIder\fR.
121 .TP
122 .BI "\-b, \-\-ca"
123 Include CA basicConstraint extension in certificate.
124 .TP
125 .BI "\-o, \-\-ocsp " uri
126 OCSP AuthorityInfoAccess URI to include in certificate. Can be used multiple
127 times.
128 .TP
129 .BI "\-p, \-\-pathlen " len
130 Set path length constraint.
131 .TP
132 .BI "\-B, \-\-addrblock " block
133 RFC 3779 address block to include in certificate. \fIblock\fR is either a
134 CIDR subnet (such as \fI10.0.0.0/8\fR) or an arbitrary address range
135 (\fI192.168.1.7-192.168.1.13\fR). Can be repeated to include multiple blocks.
136 Please note that the supplied blocks are included in the certificate as is,
137 so for standards compliance, multiple blocks must be supplied in correct
138 order and adjacent blocks must be combined. Refer to RFC 3779 for details.
139 .TP
140 .BI "\-n, \-\-nc-permitted " name
141 Add permitted NameConstraint extension to certificate. For DNS or email
142 constraints, the identity type is not always detectable by the given name. Use
143 the
144 .B dns:
145 or
146 .B email:
147 prefix to force a constraint type.
148 .TP
149 .BI "\-N, \-\-nc-excluded " name
150 Add excluded NameConstraint extension to certificate. For DNS or email
151 constraints, the identity type is not always detectable by the given name. Use
152 the
153 .B dns:
154 or
155 .B email:
156 prefix to force a constraint type.
157 .TP
158 .BI "\-M, \-\-policy-mapping " issuer-oid:subject-oid
159 Add policyMapping from issuer to subject OID.
160 .TP
161 .BI "\-E, \-\-policy-explicit " len
162 Add requireExplicitPolicy constraint.
163 .TP
164 .BI "\-H, \-\-policy-inhibit " len
165 Add inhibitPolicyMapping constraint.
166 .TP
167 .BI "\-A, \-\-policy-any " len
168 Add inhibitAnyPolicy constraint.
169 .PP
170 .SS "Certificate Policy"
171 Multiple certificatePolicy extensions can be added. Each with the following
172 information:
173 .TP
174 .BI "\-P, \-\-cert-policy " oid
175 OID to include in certificatePolicy extension. Required.
176 .TP
177 .BI "\-C, \-\-cps-uri " uri
178 Certification Practice statement URI for certificatePolicy.
179 .TP
180 .BI "\-U, \-\-user-notice " text
181 User notice for certificatePolicy.
182 .
183 .SH "EXAMPLES"
184 .
185 Generate a self-signed certificate using the given RSA key:
186 .PP
187 .EX
188   pki \-\-self \-\-in key.der \-\-dn "C=CH, O=strongSwan, CN=moon" \\
189       \-\-san moon.strongswan.org > cert.der
190 .EE
191 .
192 .SH "SEE ALSO"
193 .
194 .BR pki (1)