]> jfr.im git - vpn-prov.git/blame - easy-rsa/openssl.cnf
misc updates
[vpn-prov.git] / easy-rsa / openssl.cnf
CommitLineData
ac397a39
JR
1# For use with easy-rsa version 2.0 and OpenSSL 1.0.0*
2
3# This definition stops the following lines choking if HOME isn't
4# defined.
5HOME = .
6RANDFILE = $HOME/.rnd
7openssl_conf = openssl_init
8
9[ openssl_init ]
10# Extra OBJECT IDENTIFIER info:
11#oid_file = $ENV::HOME/.oid
12oid_section = new_oids
13engines = engine_section
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' and 'req'.
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####################################################################
31[ ca ]
32default_ca = CA_default # The default ca section
33
34####################################################################
35[ CA_default ]
36
37dir = $ENV::KEY_DIR # Where everything is kept
38certs = $dir # Where the issued certs are kept
39crl_dir = $dir # Where the issued crl are kept
40database = $dir/index.txt # database index file.
41new_certs_dir = $dir # default place for new certs.
42
43certificate = $dir/ca.crt # The CA certificate
44serial = $dir/serial # The current serial number
45crl = $dir/crl.pem # The current CRL
46private_key = $dir/ca.key # The private key
47RANDFILE = $dir/.rand # private random number file
48
49x509_extensions = usr_cert # The extentions to add to the cert
50
51# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
52# so this is commented out by default to leave a V1 CRL.
53# crl_extensions = crl_ext
54
55default_days = 90 # how long to certify for
56default_crl_days= 30 # how long before next CRL
57default_md = sha256 # use public key default MD
58preserve = no # keep passed DN ordering
59
60# A few difference way of specifying how similar the request should look
61# For type CA, the listed attributes must be the same, and the optional
62# and supplied fields are just that :-)
63policy = policy_anything
64
65# For the CA policy
66[ policy_match ]
67countryName = match
68stateOrProvinceName = match
69organizationName = match
70organizationalUnitName = optional
71commonName = supplied
72name = optional
73emailAddress = optional
74
75# For the 'anything' policy
76# At this point in time, you must list all acceptable 'object'
77# types.
78[ policy_anything ]
79countryName = optional
80stateOrProvinceName = optional
81localityName = optional
82organizationName = optional
83organizationalUnitName = optional
84commonName = supplied
85name = optional
86emailAddress = optional
87
88####################################################################
89[ req ]
90default_bits = $ENV::KEY_SIZE
91default_keyfile = privkey.pem
92default_md = sha256
93distinguished_name = req_distinguished_name
94attributes = req_attributes
95x509_extensions = v3_ca # The extentions to add to the self signed cert
96
97# Passwords for private keys if not present they will be prompted for
98# input_password = secret
99# output_password = secret
100
101# This sets a mask for permitted string types. There are several options.
102# default: PrintableString, T61String, BMPString.
103# pkix : PrintableString, BMPString (PKIX recommendation after 2004).
104# utf8only: only UTF8Strings (PKIX recommendation after 2004).
105# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
106# MASK:XXXX a literal mask value.
107string_mask = nombstr
108
109# req_extensions = v3_req # The extensions to add to a certificate request
110
111[ req_distinguished_name ]
112countryName = Country Name (2 letter code)
113countryName_default = $ENV::KEY_COUNTRY
114countryName_min = 2
115countryName_max = 2
116
117stateOrProvinceName = State or Province Name (full name)
118stateOrProvinceName_default = $ENV::KEY_PROVINCE
119
120localityName = Locality Name (eg, city)
121localityName_default = $ENV::KEY_CITY
122
1230.organizationName = Organization Name (eg, company)
1240.organizationName_default = $ENV::KEY_ORG
125
126# we can do this but it is not needed normally :-)
127#1.organizationName = Second Organization Name (eg, company)
128#1.organizationName_default = World Wide Web Pty Ltd
129
130organizationalUnitName = Organizational Unit Name (eg, section)
131#organizationalUnitName_default =
132
133commonName = Common Name (eg, your name or your server\'s hostname)
134commonName_max = 64
135
136name = Name
137name_max = 64
138
139emailAddress = Email Address
140emailAddress_default = $ENV::KEY_EMAIL
141emailAddress_max = 40
142
143# JY -- added for batch mode
144organizationalUnitName_default = $ENV::KEY_OU
145commonName_default = $ENV::KEY_CN
146name_default = $ENV::KEY_NAME
147
148
149# SET-ex3 = SET extension number 3
150
151[ req_attributes ]
152challengePassword = A challenge password
153challengePassword_min = 4
154challengePassword_max = 20
155
156unstructuredName = An optional company name
157
158[ usr_cert ]
159
160# These extensions are added when 'ca' signs a request.
161
162# This goes against PKIX guidelines but some CAs do it and some software
163# requires this to avoid interpreting an end user certificate as a CA.
164
165basicConstraints=CA:FALSE
166
167# Here are some examples of the usage of nsCertType. If it is omitted
168# the certificate can be used for anything *except* object signing.
169
170# This is OK for an SSL server.
171# nsCertType = server
172
173# For an object signing certificate this would be used.
174# nsCertType = objsign
175
176# For normal client use this is typical
177# nsCertType = client, email
178
179# and for everything including object signing:
180# nsCertType = client, email, objsign
181
182# This is typical in keyUsage for a client certificate.
183# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
184
185# This will be displayed in Netscape's comment listbox.
186nsComment = "VPN-Prov Generated Certificate"
187
188# PKIX recommendations harmless if included in all certificates.
189subjectKeyIdentifier=hash
190authorityKeyIdentifier=keyid,issuer:always
191extendedKeyUsage=clientAuth
192keyUsage = digitalSignature
193
194
195# This stuff is for subjectAltName and issuerAltname.
196# Import the email address.
197# subjectAltName=email:copy
198
199# Copy subject details
200# issuerAltName=issuer:copy
201
202#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem
203#nsBaseUrl
204#nsRevocationUrl
205#nsRenewalUrl
206#nsCaPolicyUrl
207#nsSslServerName
208
209[ server ]
210
211# JY ADDED -- Make a cert with nsCertType set to "server"
212basicConstraints=CA:FALSE
213nsCertType = server
214nsComment = "VPN-Prov Generated Server Certificate"
215subjectKeyIdentifier=hash
216authorityKeyIdentifier=keyid,issuer:always
217extendedKeyUsage=serverAuth
218keyUsage = digitalSignature, keyEncipherment
219
220[ v3_req ]
221
222# Extensions to add to a certificate request
223
224basicConstraints = CA:FALSE
225keyUsage = nonRepudiation, digitalSignature, keyEncipherment
226
227[ v3_ca ]
228
229
230# Extensions for a typical CA
231
232
233# PKIX recommendation.
234
235subjectKeyIdentifier=hash
236
237authorityKeyIdentifier=keyid:always,issuer:always
238
239# This is what PKIX recommends but some broken software chokes on critical
240# extensions.
241#basicConstraints = critical,CA:true
242# So we do this instead.
243basicConstraints = CA:true
244
245# Key usage: this is typical for a CA certificate. However since it will
246# prevent it being used as an test self-signed certificate it is best
247# left out by default.
248# keyUsage = cRLSign, keyCertSign
249
250# Some might want this also
251# nsCertType = sslCA, emailCA
252
253# Include email address in subject alt name: another PKIX recommendation
254# subjectAltName=email:copy
255# Copy issuer details
256# issuerAltName=issuer:copy
257
258# DER hex encoding of an extension: beware experts only!
259# obj=DER:02:03
260# Where 'obj' is a standard or added object
261# You can even override a supported extension:
262# basicConstraints= critical, DER:30:03:01:01:FF
263
264[ crl_ext ]
265
266# CRL extensions.
267# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
268
269# issuerAltName=issuer:copy
270authorityKeyIdentifier=keyid:always,issuer:always
271
272[ engine_section ]
273#
274# If you are using PKCS#11
275# Install engine_pkcs11 of opensc (www.opensc.org)
276# And uncomment the following
277# verify that dynamic_path points to the correct location
278#
279#pkcs11 = pkcs11_section
280
281[ pkcs11_section ]
282engine_id = pkcs11
283dynamic_path = /usr/lib/engines/engine_pkcs11.so
284MODULE_PATH = $ENV::PKCS11_MODULE_PATH
285PIN = $ENV::PKCS11_PIN
286init = 0