pki: Optionally generate RSA/PSS signatures
[strongswan.git] / src / pki / man / pki---issue.1.in
1 .TH "PKI \-\-ISSUE" 1 "2016-12-13" "@PACKAGE_VERSION@" "strongSwan"
2 .
3 .SH "NAME"
4 .
5 pki \-\-issue \- Issue a certificate using a CA certificate and key
6 .
7 .SH "SYNOPSIS"
8 .
9 .SY pki\ \-\-issue
10 .OP \-\-in file
11 .OP \-\-type type
12 .BI \-\-cakey\~ file |\-\-cakeyid\~ hex
13 .BI \-\-cacert\~ file
14 .OP \-\-dn subject-dn
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 \-\-rsa\-padding padding
23 .OP \-\-ca
24 .OP \-\-crl uri\ \fR[\fB\-\-crlissuer\ \fIissuer\fR]
25 .OP \-\-ocsp uri
26 .OP \-\-pathlen len
27 .OP \-\-nc-permitted name
28 .OP \-\-addrblock block
29 .OP \-\-nc-excluded name
30 .OP \-\-policy\-mapping mapping
31 .OP \-\-policy\-explicit len
32 .OP \-\-policy\-inhibit len
33 .OP \-\-policy\-any len
34 .OP \-\-cert\-policy oid\ \fR[\fB\-\-cps\-uri\ \fIuri\fR]\ \fR[\fB\-\-user\-notice\ \fItext\fR]
35 .OP \-\-outform encoding
36 .OP \-\-debug level
37 .YS
38 .
39 .SY pki\ \-\-issue
40 .BI \-\-options\~ file
41 .YS
42 .
43 .SY "pki \-\-issue"
44 .B \-h
45 |
46 .B \-\-help
47 .YS
48 .
49 .SH "DESCRIPTION"
50 .
51 This sub-command of
52 .BR pki (1)
53 is used to issue a certificate using a CA certificate and private key.
54 .
55 .SH "OPTIONS"
56 .
57 .TP
58 .B "\-h, \-\-help"
59 Print usage information with a summary of the available options.
60 .TP
61 .BI "\-v, \-\-debug " level
62 Set debug level, default: 1.
63 .TP
64 .BI "\-+, \-\-options " file
65 Read command line options from \fIfile\fR.
66 .TP
67 .BI "\-i, \-\-in " file
68 Public key or PKCS#10 certificate request file to issue. If not given the
69 key/request is read from \fISTDIN\fR.
70 .TP
71 .BI "\-t, \-\-type " type
72 Type of the input. One of \fIpub\fR (public key), \fIpriv\fR (private key),
73 \fIrsa\fR (RSA private key), \fIecdsa\fR (ECDSA private key),
74 \fIed25519\fR (Ed25519 private key) \fIbliss\fR (BLISS private key) or
75 \fIpkcs10\fR (PKCS#10 certificate request), defaults to \fIpub\fR.
76 .TP
77 .BI "\-k, \-\-cakey " file
78 CA private key file. Either this or
79 .B \-\-cakeyid
80 is required.
81 .TP
82 .BI "\-x, \-\-cakeyid " hex
83 Smartcard or TPM CA private key object handle in hex format with an optional
84 0x prefix. Either this or
85 .B \-\-cakey
86 is required.
87 .TP
88 .BI "\-c, \-\-cacert " file
89 CA certificate file. Required.
90 .TP
91 .BI "\-d, \-\-dn " subject-dn
92 Subject distinguished name (DN) of the issued certificate.
93 .TP
94 .BI "\-a, \-\-san " subjectAltName
95 subjectAltName extension to include in certificate. Can be used multiple times.
96 .TP
97 .BI "\-l, \-\-lifetime " days
98 Days the certificate is valid, default: 1095. Ignored if both
99 an absolute start and end time are given.
100 .TP
101 .BI "\-F, \-\-not-before " datetime
102 Absolute time when the validity of the certificate begins. The datetime format
103 is defined by the
104 .B \-\-dateform
105 option.
106 .TP
107 .BI "\-T, \-\-not-after " datetime
108 Absolute time when the validity of the certificate ends. The datetime format is
109 defined by the
110 .B \-\-dateform
111 option.
112 .TP
113 .BI "\-D, \-\-dateform " form
114 strptime(3) format for the
115 .B \-\-not\-before
116 and
117 .B \-\-not\-after
118 options, default:
119 .B %d.%m.%y %T
120 .TP
121 .BI "\-s, \-\-serial " hex
122 Serial number in hex. It is randomly allocated by default.
123 .TP
124 .BI "\-e, \-\-flag " flag
125 Add extendedKeyUsage flag. One of \fIserverAuth\fR, \fIclientAuth\fR,
126 \fIcrlSign\fR, or \fIocspSigning\fR. Can be used multiple times.
127 .TP
128 .BI "\-g, \-\-digest " digest
129 Digest to use for signature creation. One of \fImd5\fR, \fIsha1\fR,
130 \fIsha224\fR, \fIsha256\fR, \fIsha384\fR, or \fIsha512\fR.  The default is
131 determined based on the type and size of the signature key.
132 .TP
133 .BI "\-R, \-\-rsa\-padding " padding
134 Padding to use for RSA signatures. Either \fIpkcs1\fR or \fIpss\fR, defaults
135 to \fIpkcs1\fR.
136 .TP
137 .BI "\-f, \-\-outform " encoding
138 Encoding of the created certificate file. Either \fIder\fR (ASN.1 DER) or
139 \fIpem\fR (Base64 PEM), defaults to \fIder\fR.
140 .TP
141 .BI "\-b, \-\-ca"
142 Include CA basicConstraint extension in certificate.
143 .TP
144 .BI "\-u, \-\-crl " uri
145 CRL distribution point URI to include in certificate. Can be used multiple
146 times.
147 .TP
148 .BI "\-I, \-\-crlissuer " issuer
149 Optional CRL issuer for the CRL at the preceding distribution point.
150 .TP
151 .BI "\-o, \-\-ocsp " uri
152 OCSP AuthorityInfoAccess URI to include in certificate. Can be used multiple
153 times.
154 .TP
155 .BI "\-p, \-\-pathlen " len
156 Set path length constraint.
157 .TP
158 .BI "\-B, \-\-addrblock " block
159 RFC 3779 address block to include in certificate. \fIblock\fR is either a
160 CIDR subnet (such as \fI10.0.0.0/8\fR) or an arbitrary address range
161 (\fI192.168.1.7-192.168.1.13\fR). Can be repeated to include multiple blocks.
162 Please note that the supplied blocks are included in the certificate as is,
163 so for standards compliance, multiple blocks must be supplied in correct
164 order and adjacent blocks must be combined. Refer to RFC 3779 for details.
165 .TP
166 .BI "\-n, \-\-nc-permitted " name
167 Add permitted NameConstraint extension to certificate. For DNS or email
168 constraints, the identity type is not always detectable by the given name. Use
169 the
170 .B dns:
171 or
172 .B email:
173 prefix to force a constraint type.
174 .TP
175 .BI "\-N, \-\-nc-excluded " name
176 Add excluded NameConstraint extension to certificate. For DNS or email
177 constraints, the identity type is not always detectable by the given name. Use
178 the
179 .B dns:
180 or
181 .B email:
182 prefix to force a constraint type.
183 .TP
184 .BI "\-M, \-\-policy-mapping " issuer-oid:subject-oid
185 Add policyMapping from issuer to subject OID.
186 .TP
187 .BI "\-E, \-\-policy-explicit " len
188 Add requireExplicitPolicy constraint.
189 .TP
190 .BI "\-H, \-\-policy-inhibit " len
191 Add inhibitPolicyMapping constraint.
192 .TP
193 .BI "\-A, \-\-policy-any " len
194 Add inhibitAnyPolicy constraint.
195 .PP
196 .SS "Certificate Policy"
197 Multiple certificatePolicy extensions can be added. Each with the following
198 information:
199 .TP
200 .BI "\-P, \-\-cert-policy " oid
201 OID to include in certificatePolicy extension. Required.
202 .TP
203 .BI "\-C, \-\-cps-uri " uri
204 Certification Practice statement URI for certificatePolicy.
205 .TP
206 .BI "\-U, \-\-user-notice " text
207 User notice for certificatePolicy.
208 .
209 .SH "EXAMPLES"
210 .
211 To save repetitive typing, command line options can be stored in files.
212 Lets assume
213 .I pki.opt
214 contains the following contents:
215 .PP
216 .EX
217   --cacert ca_cert.der --cakey ca_key.der --digest sha256
218   --flag serverAuth --lifetime 1460 --type pkcs10
219 .EE
220 .PP
221 Then the following command can be used to issue a certificate based on a
222 given PKCS#10 certificate request and the options above:
223 .PP
224 .EX
225   pki --issue --options pki.opt --in req.der > cert.der
226 .EE
227 .PP
228 .
229 .SH "SEE ALSO"
230 .
231 .BR pki (1)