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