Merge branch 'Ed25519'
[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 \-\-ca
23 .OP \-\-crl uri\ \fR[\fB\-\-crlissuer\ \fIissuer\fR]
24 .OP \-\-ocsp uri
25 .OP \-\-pathlen len
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\ \-\-issue
38 .BI \-\-options\~ file
39 .YS
40 .
41 .SY "pki \-\-issue"
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 issue a certificate using a CA certificate and private key.
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 Public key or PKCS#10 certificate request file to issue. If not given the
67 key/request is read from \fISTDIN\fR.
68 .TP
69 .BI "\-t, \-\-type " type
70 Type of the input. One of \fIpub\fR (public key), \fIpriv\fR (private key),
71 \fIrsa\fR (RSA private key), \fIecdsa\fR (ECDSA private key),
72 \fIed25519\fR (Ed25519 private key) \fIbliss\fR (BLISS private key) or
73 \fIpkcs10\fR (PKCS#10 certificate request), defaults to \fIpub\fR.
74 .TP
75 .BI "\-k, \-\-cakey " file
76 CA private key file. Either this or
77 .B \-\-cakeyid
78 is required.
79 .TP
80 .BI "\-x, \-\-cakeyid " hex
81 Key ID of a CA private key on a smartcard. Either this or
82 .B \-\-cakey
83 is required.
84 .TP
85 .BI "\-c, \-\-cacert " file
86 CA certificate file. Required.
87 .TP
88 .BI "\-d, \-\-dn " subject-dn
89 Subject distinguished name (DN) of the issued certificate.
90 .TP
91 .BI "\-a, \-\-san " subjectAltName
92 subjectAltName extension to include in certificate. Can be used multiple times.
93 .TP
94 .BI "\-l, \-\-lifetime " days
95 Days the certificate is valid, default: 1095. Ignored if both
96 an absolute start and end time are given.
97 .TP
98 .BI "\-F, \-\-not-before " datetime
99 Absolute time when the validity of the certificate begins. The datetime format
100 is defined by the
101 .B \-\-dateform
102 option.
103 .TP
104 .BI "\-T, \-\-not-after " datetime
105 Absolute time when the validity of the certificate ends. The datetime format is
106 defined by the
107 .B \-\-dateform
108 option.
109 .TP
110 .BI "\-D, \-\-dateform " form
111 strptime(3) format for the
112 .B \-\-not\-before
113 and
114 .B \-\-not\-after
115 options, default:
116 .B %d.%m.%y %T
117 .TP
118 .BI "\-s, \-\-serial " hex
119 Serial number in hex. It is randomly allocated by default.
120 .TP
121 .BI "\-e, \-\-flag " flag
122 Add extendedKeyUsage flag. One of \fIserverAuth\fR, \fIclientAuth\fR,
123 \fIcrlSign\fR, or \fIocspSigning\fR. Can be used multiple times.
124 .TP
125 .BI "\-g, \-\-digest " digest
126 Digest to use for signature creation. One of \fImd5\fR, \fIsha1\fR,
127 \fIsha224\fR, \fIsha256\fR, \fIsha384\fR, or \fIsha512\fR.  The default is
128 determined based on the type and size of the signature key.
129 .TP
130 .BI "\-f, \-\-outform " encoding
131 Encoding of the created certificate file. Either \fIder\fR (ASN.1 DER) or
132 \fIpem\fR (Base64 PEM), defaults to \fIder\fR.
133 .TP
134 .BI "\-b, \-\-ca"
135 Include CA basicConstraint extension in certificate.
136 .TP
137 .BI "\-u, \-\-crl " uri
138 CRL distribution point URI to include in certificate. Can be used multiple
139 times.
140 .TP
141 .BI "\-I, \-\-crlissuer " issuer
142 Optional CRL issuer for the CRL at the preceding distribution point.
143 .TP
144 .BI "\-o, \-\-ocsp " uri
145 OCSP AuthorityInfoAccess URI to include in certificate. Can be used multiple
146 times.
147 .TP
148 .BI "\-p, \-\-pathlen " len
149 Set path length constraint.
150 .TP
151 .BI "\-n, \-\-nc-permitted " name
152 Add permitted NameConstraint extension to certificate. For DNS or email
153 constraints, the identity type is not always detectable by the given name. Use
154 the
155 .B dns:
156 or
157 .B email:
158 prefix to force a constraint type.
159 .TP
160 .BI "\-N, \-\-nc-excluded " name
161 Add excluded NameConstraint extension to certificate. For DNS or email
162 constraints, the identity type is not always detectable by the given name. Use
163 the
164 .B dns:
165 or
166 .B email:
167 prefix to force a constraint type.
168 .TP
169 .BI "\-M, \-\-policy-mapping " issuer-oid:subject-oid
170 Add policyMapping from issuer to subject OID.
171 .TP
172 .BI "\-E, \-\-policy-explicit " len
173 Add requireExplicitPolicy constraint.
174 .TP
175 .BI "\-H, \-\-policy-inhibit " len
176 Add inhibitPolicyMapping constraint.
177 .TP
178 .BI "\-A, \-\-policy-any " len
179 Add inhibitAnyPolicy constraint.
180 .PP
181 .SS "Certificate Policy"
182 Multiple certificatePolicy extensions can be added. Each with the following
183 information:
184 .TP
185 .BI "\-P, \-\-cert-policy " oid
186 OID to include in certificatePolicy extension. Required.
187 .TP
188 .BI "\-C, \-\-cps-uri " uri
189 Certification Practice statement URI for certificatePolicy.
190 .TP
191 .BI "\-U, \-\-user-notice " text
192 User notice for certificatePolicy.
193 .
194 .SH "EXAMPLES"
195 .
196 To save repetitive typing, command line options can be stored in files.
197 Lets assume
198 .I pki.opt
199 contains the following contents:
200 .PP
201 .EX
202   --cacert ca_cert.der --cakey ca_key.der --digest sha256
203   --flag serverAuth --lifetime 1460 --type pkcs10
204 .EE
205 .PP
206 Then the following command can be used to issue a certificate based on a
207 given PKCS#10 certificate request and the options above:
208 .PP
209 .EX
210   pki --issue --options pki.opt --in req.der > cert.der
211 .EE
212 .PP
213 .
214 .SH "SEE ALSO"
215 .
216 .BR pki (1)