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