Ticket #2400: openssl.cnf

File openssl.cnf, 10.8 KB (added by daira, at 2015-04-13T19:42:05Z)
Line 
1#
2# OpenSSL example configuration file.
3# This is mostly being used for generation of certificate requests.
4#
5
6# This definition stops the following lines choking if HOME isn't
7# defined.
8HOME                    = .
9RANDFILE                = $ENV::HOME/.rnd
10
11# Extra OBJECT IDENTIFIER info:
12#oid_file               = $ENV::HOME/.oid
13oid_section             = new_oids
14
15# To use this configuration file with the "-extfile" option of the
16# "openssl x509" utility, name here the section containing the
17# X.509v3 extensions to use:
18# extensions            =
19# (Alternatively, use a configuration file that has only
20# X.509v3 extensions in its main [= default] section.)
21
22[ new_oids ]
23
24# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.
25# Add a simple OID like this:
26# testoid1=1.2.3.4
27# Or use config file substitution like this:
28# testoid2=${testoid1}.5.6
29
30# Policies used by the TSA examples.
31tsa_policy1 = 1.2.3.4.1
32tsa_policy2 = 1.2.3.4.5.6
33tsa_policy3 = 1.2.3.4.5.7
34
35####################################################################
36[ ca ]
37default_ca      = CA_default            # The default ca section
38
39####################################################################
40[ CA_default ]
41
42dir             = /etc/pki/CA           # Where everything is kept
43certs           = $dir/certs            # Where the issued certs are kept
44crl_dir         = $dir/crl              # Where the issued crl are kept
45database        = $dir/index.txt        # database index file.
46#unique_subject = no                    # Set to 'no' to allow creation of
47                                        # several ctificates with same subject.
48new_certs_dir   = $dir/newcerts         # default place for new certs.
49
50certificate     = $dir/cacert.pem       # The CA certificate
51serial          = $dir/serial           # The current serial number
52crlnumber       = $dir/crlnumber        # the current crl number
53                                        # must be commented out to leave a V1 CRL
54crl             = $dir/crl.pem          # The current CRL
55private_key     = $dir/private/cakey.pem# The private key
56RANDFILE        = $dir/private/.rand    # private random number file
57
58x509_extensions = usr_cert              # The extentions to add to the cert
59
60# Comment out the following two lines for the "traditional"
61# (and highly broken) format.
62name_opt        = ca_default            # Subject Name options
63cert_opt        = ca_default            # Certificate field options
64
65# Extension copying option: use with caution.
66# copy_extensions = copy
67
68# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
69# so this is commented out by default to leave a V1 CRL.
70# crlnumber must also be commented out to leave a V1 CRL.
71# crl_extensions        = crl_ext
72
73default_days    = 365                   # how long to certify for
74default_crl_days= 30                    # how long before next CRL
75default_md      = sha256                # use SHA-256 by default
76preserve        = no                    # keep passed DN ordering
77
78# A few difference way of specifying how similar the request should look
79# For type CA, the listed attributes must be the same, and the optional
80# and supplied fields are just that :-)
81policy          = policy_match
82
83# For the CA policy
84[ policy_match ]
85countryName             = match
86stateOrProvinceName     = match
87organizationName        = match
88organizationalUnitName  = optional
89commonName              = supplied
90emailAddress            = optional
91
92# For the 'anything' policy
93# At this point in time, you must list all acceptable 'object'
94# types.
95[ policy_anything ]
96countryName             = optional
97stateOrProvinceName     = optional
98localityName            = optional
99organizationName        = optional
100organizationalUnitName  = optional
101commonName              = supplied
102emailAddress            = optional
103
104####################################################################
105[ req ]
106default_bits            = 2048
107default_md              = sha256
108default_keyfile         = privkey.pem
109distinguished_name      = req_distinguished_name
110attributes              = req_attributes
111x509_extensions = v3_ca # The extentions to add to the self signed cert
112
113# Passwords for private keys if not present they will be prompted for
114# input_password = secret
115# output_password = secret
116
117# This sets a mask for permitted string types. There are several options.
118# default: PrintableString, T61String, BMPString.
119# pkix   : PrintableString, BMPString (PKIX recommendation before 2004)
120# utf8only: only UTF8Strings (PKIX recommendation after 2004).
121# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
122# MASK:XXXX a literal mask value.
123# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.
124string_mask = utf8only
125
126# req_extensions = v3_req # The extensions to add to a certificate request
127
128[ req_distinguished_name ]
129countryName                     = Country Name (2 letter code)
130countryName_default             = XX
131countryName_min                 = 2
132countryName_max                 = 2
133
134stateOrProvinceName             = State or Province Name (full name)
135#stateOrProvinceName_default    = Default Province
136
137localityName                    = Locality Name (eg, city)
138localityName_default            = Default City
139
1400.organizationName              = Organization Name (eg, company)
1410.organizationName_default      = Default Company Ltd
142
143# we can do this but it is not needed normally :-)
144#1.organizationName             = Second Organization Name (eg, company)
145#1.organizationName_default     = World Wide Web Pty Ltd
146
147organizationalUnitName          = Organizational Unit Name (eg, section)
148#organizationalUnitName_default =
149
150commonName                      = Common Name (eg, your name or your server\'s hostname)
151commonName_max                  = 64
152
153emailAddress                    = Email Address
154emailAddress_max                = 64
155
156# SET-ex3                       = SET extension number 3
157
158[ req_attributes ]
159challengePassword               = A challenge password
160challengePassword_min           = 4
161challengePassword_max           = 20
162
163unstructuredName                = An optional company name
164
165[ usr_cert ]
166
167# These extensions are added when 'ca' signs a request.
168
169# This goes against PKIX guidelines but some CAs do it and some software
170# requires this to avoid interpreting an end user certificate as a CA.
171
172basicConstraints=CA:FALSE
173
174# Here are some examples of the usage of nsCertType. If it is omitted
175# the certificate can be used for anything *except* object signing.
176
177# This is OK for an SSL server.
178# nsCertType                    = server
179
180# For an object signing certificate this would be used.
181# nsCertType = objsign
182
183# For normal client use this is typical
184# nsCertType = client, email
185
186# and for everything including object signing:
187# nsCertType = client, email, objsign
188
189# This is typical in keyUsage for a client certificate.
190# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
191
192# This will be displayed in Netscape's comment listbox.
193nsComment                       = "OpenSSL Generated Certificate"
194
195# PKIX recommendations harmless if included in all certificates.
196subjectKeyIdentifier=hash
197authorityKeyIdentifier=keyid,issuer
198
199# This stuff is for subjectAltName and issuerAltname.
200# Import the email address.
201# subjectAltName=email:copy
202# An alternative to produce certificates that aren't
203# deprecated according to PKIX.
204# subjectAltName=email:move
205
206# Copy subject details
207# issuerAltName=issuer:copy
208
209#nsCaRevocationUrl              = http://www.domain.dom/ca-crl.pem
210#nsBaseUrl
211#nsRevocationUrl
212#nsRenewalUrl
213#nsCaPolicyUrl
214#nsSslServerName
215
216# This is required for TSA certificates.
217# extendedKeyUsage = critical,timeStamping
218
219[ v3_req ]
220
221# Extensions to add to a certificate request
222
223basicConstraints = CA:FALSE
224keyUsage = nonRepudiation, digitalSignature, keyEncipherment
225
226[ v3_ca ]
227
228
229# Extensions for a typical CA
230
231
232# PKIX recommendation.
233
234subjectKeyIdentifier=hash
235
236authorityKeyIdentifier=keyid:always,issuer
237
238# This is what PKIX recommends but some broken software chokes on critical
239# extensions.
240#basicConstraints = critical,CA:true
241# So we do this instead.
242basicConstraints = CA:true
243
244# Key usage: this is typical for a CA certificate. However since it will
245# prevent it being used as an test self-signed certificate it is best
246# left out by default.
247# keyUsage = cRLSign, keyCertSign
248
249# Some might want this also
250# nsCertType = sslCA, emailCA
251
252# Include email address in subject alt name: another PKIX recommendation
253# subjectAltName=email:copy
254# Copy issuer details
255# issuerAltName=issuer:copy
256
257# DER hex encoding of an extension: beware experts only!
258# obj=DER:02:03
259# Where 'obj' is a standard or added object
260# You can even override a supported extension:
261# basicConstraints= critical, DER:30:03:01:01:FF
262
263[ crl_ext ]
264
265# CRL extensions.
266# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
267
268# issuerAltName=issuer:copy
269authorityKeyIdentifier=keyid:always
270
271[ proxy_cert_ext ]
272# These extensions should be added when creating a proxy certificate
273
274# This goes against PKIX guidelines but some CAs do it and some software
275# requires this to avoid interpreting an end user certificate as a CA.
276
277basicConstraints=CA:FALSE
278
279# Here are some examples of the usage of nsCertType. If it is omitted
280# the certificate can be used for anything *except* object signing.
281
282# This is OK for an SSL server.
283# nsCertType                    = server
284
285# For an object signing certificate this would be used.
286# nsCertType = objsign
287
288# For normal client use this is typical
289# nsCertType = client, email
290
291# and for everything including object signing:
292# nsCertType = client, email, objsign
293
294# This is typical in keyUsage for a client certificate.
295# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
296
297# This will be displayed in Netscape's comment listbox.
298nsComment                       = "OpenSSL Generated Certificate"
299
300# PKIX recommendations harmless if included in all certificates.
301subjectKeyIdentifier=hash
302authorityKeyIdentifier=keyid,issuer
303
304# This stuff is for subjectAltName and issuerAltname.
305# Import the email address.
306# subjectAltName=email:copy
307# An alternative to produce certificates that aren't
308# deprecated according to PKIX.
309# subjectAltName=email:move
310
311# Copy subject details
312# issuerAltName=issuer:copy
313
314#nsCaRevocationUrl              = http://www.domain.dom/ca-crl.pem
315#nsBaseUrl
316#nsRevocationUrl
317#nsRenewalUrl
318#nsCaPolicyUrl
319#nsSslServerName
320
321# This really needs to be in place for it to be a proxy certificate.
322proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
323
324####################################################################
325[ tsa ]
326
327default_tsa = tsa_config1       # the default TSA section
328
329[ tsa_config1 ]
330
331# These are used by the TSA reply generation only.
332dir             = ./demoCA              # TSA root directory
333serial          = $dir/tsaserial        # The current serial number (mandatory)
334crypto_device   = builtin               # OpenSSL engine to use for signing
335signer_cert     = $dir/tsacert.pem      # The TSA signing certificate
336                                        # (optional)
337certs           = $dir/cacert.pem       # Certificate chain to include in reply
338                                        # (optional)
339signer_key      = $dir/private/tsakey.pem # The TSA private key (optional)
340
341default_policy  = tsa_policy1           # Policy if request did not specify it
342                                        # (optional)
343other_policies  = tsa_policy2, tsa_policy3      # acceptable policies (optional)
344digests         = sha1, sha256, sha384, sha512  # Acceptable message digests (mandatory)
345accuracy        = secs:1, millisecs:500, microsecs:100  # (optional)
346clock_precision_digits  = 0     # number of digits after dot. (optional)
347ordering                = yes   # Is ordering defined for timestamps?
348                                # (optional, default: no)
349tsa_name                = yes   # Must the TSA name be included in the reply?
350                                # (optional, default: no)
351ess_cert_id_chain       = no    # Must the ESS cert id chain be included?
352                                # (optional, default: no)
353
354-----------------------------5646229831303996224208384885
355Content-Disposition: form-data; name="description"
356
357openssl.cnf used for debugging