dtrace: Address KMSAN warnings in dtrace_disx86
[freebsd/src.git] / crypto / openssl / apps / openssl.cnf
blob7996120cc67e3474a29f08a11f648fc5bb205ba2
1 # $FreeBSD$
3 # OpenSSL example configuration file.
4 # See doc/man5/config.pod for more info.
6 # This is mostly being used for generation of certificate requests,
7 # but may be used for auto loading of providers
9 # Note that you can include other files from the main configuration
10 # file using the .include directive.
11 #.include filename
13 # This definition stops the following lines choking if HOME isn't
14 # defined.
15 HOME                    = .
17  # Use this in order to automatically load providers.
18 openssl_conf = openssl_init
20 # Comment out the next line to ignore configuration errors
21 config_diagnostics = 1
23 # Extra OBJECT IDENTIFIER info:
24 # oid_file       = $ENV::HOME/.oid
25 oid_section = new_oids
27 # To use this configuration file with the "-extfile" option of the
28 # "openssl x509" utility, name here the section containing the
29 # X.509v3 extensions to use:
30 # extensions            =
31 # (Alternatively, use a configuration file that has only
32 # X.509v3 extensions in its main [= default] section.)
34 [ new_oids ]
35 # We can add new OIDs in here for use by 'ca', 'req' and 'ts'.
36 # Add a simple OID like this:
37 # testoid1=1.2.3.4
38 # Or use config file substitution like this:
39 # testoid2=${testoid1}.5.6
41 # Policies used by the TSA examples.
42 tsa_policy1 = 1.2.3.4.1
43 tsa_policy2 = 1.2.3.4.5.6
44 tsa_policy3 = 1.2.3.4.5.7
46 # For FIPS
47 # Optionally include a file that is generated by the OpenSSL fipsinstall
48 # application. This file contains configuration data required by the OpenSSL
49 # fips provider. It contains a named section e.g. [fips_sect] which is
50 # referenced from the [provider_sect] below.
51 # Refer to the OpenSSL security policy for more information.
52 # .include fipsmodule.cnf
54 [openssl_init]
55 providers = provider_sect
57 # List of providers to load
58 [provider_sect]
59 default = default_sect
60 # The fips section name should match the section name inside the
61 # included fipsmodule.cnf.
62 # fips = fips_sect
64 # If no providers are activated explicitly, the default one is activated implicitly.
65 # See man 7 OSSL_PROVIDER-default for more details.
67 # If you add a section explicitly activating any other provider(s), you most
68 # probably need to explicitly activate the default provider, otherwise it
69 # becomes unavailable in openssl.  As a consequence applications depending on
70 # OpenSSL may not work correctly which could lead to significant system
71 # problems including inability to remotely access the system.
72 [default_sect]
73 # activate = 1
76 ####################################################################
77 [ ca ]
78 default_ca      = CA_default            # The default ca section
80 ####################################################################
81 [ CA_default ]
83 dir             = ./demoCA              # Where everything is kept
84 certs           = $dir/certs            # Where the issued certs are kept
85 crl_dir         = $dir/crl              # Where the issued crl are kept
86 database        = $dir/index.txt        # database index file.
87 #unique_subject = no                    # Set to 'no' to allow creation of
88                                         # several certs with same subject.
89 new_certs_dir   = $dir/newcerts         # default place for new certs.
91 certificate     = $dir/cacert.pem       # The CA certificate
92 serial          = $dir/serial           # The current serial number
93 crlnumber       = $dir/crlnumber        # the current crl number
94                                         # must be commented out to leave a V1 CRL
95 crl             = $dir/crl.pem          # The current CRL
96 private_key     = $dir/private/cakey.pem# The private key
98 x509_extensions = usr_cert              # The extensions to add to the cert
100 # Comment out the following two lines for the "traditional"
101 # (and highly broken) format.
102 name_opt        = ca_default            # Subject Name options
103 cert_opt        = ca_default            # Certificate field options
105 # Extension copying option: use with caution.
106 # copy_extensions = copy
108 # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
109 # so this is commented out by default to leave a V1 CRL.
110 # crlnumber must also be commented out to leave a V1 CRL.
111 # crl_extensions        = crl_ext
113 default_days    = 365                   # how long to certify for
114 default_crl_days= 30                    # how long before next CRL
115 default_md      = default               # use public key default MD
116 preserve        = no                    # keep passed DN ordering
118 # A few difference way of specifying how similar the request should look
119 # For type CA, the listed attributes must be the same, and the optional
120 # and supplied fields are just that :-)
121 policy          = policy_match
123 # For the CA policy
124 [ policy_match ]
125 countryName             = match
126 stateOrProvinceName     = match
127 organizationName        = match
128 organizationalUnitName  = optional
129 commonName              = supplied
130 emailAddress            = optional
132 # For the 'anything' policy
133 # At this point in time, you must list all acceptable 'object'
134 # types.
135 [ policy_anything ]
136 countryName             = optional
137 stateOrProvinceName     = optional
138 localityName            = optional
139 organizationName        = optional
140 organizationalUnitName  = optional
141 commonName              = supplied
142 emailAddress            = optional
144 ####################################################################
145 [ req ]
146 default_bits            = 2048
147 default_keyfile         = privkey.pem
148 distinguished_name      = req_distinguished_name
149 attributes              = req_attributes
150 x509_extensions = v3_ca # The extensions to add to the self signed cert
152 # Passwords for private keys if not present they will be prompted for
153 # input_password = secret
154 # output_password = secret
156 # This sets a mask for permitted string types. There are several options.
157 # default: PrintableString, T61String, BMPString.
158 # pkix   : PrintableString, BMPString (PKIX recommendation before 2004)
159 # utf8only: only UTF8Strings (PKIX recommendation after 2004).
160 # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
161 # MASK:XXXX a literal mask value.
162 # WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.
163 string_mask = utf8only
165 # req_extensions = v3_req # The extensions to add to a certificate request
167 [ req_distinguished_name ]
168 countryName                     = Country Name (2 letter code)
169 countryName_default             = AU
170 countryName_min                 = 2
171 countryName_max                 = 2
173 stateOrProvinceName             = State or Province Name (full name)
174 stateOrProvinceName_default     = Some-State
176 localityName                    = Locality Name (eg, city)
178 0.organizationName              = Organization Name (eg, company)
179 0.organizationName_default      = Internet Widgits Pty Ltd
181 # we can do this but it is not needed normally :-)
182 #1.organizationName             = Second Organization Name (eg, company)
183 #1.organizationName_default     = World Wide Web Pty Ltd
185 organizationalUnitName          = Organizational Unit Name (eg, section)
186 #organizationalUnitName_default =
188 commonName                      = Common Name (e.g. server FQDN or YOUR name)
189 commonName_max                  = 64
191 emailAddress                    = Email Address
192 emailAddress_max                = 64
194 # SET-ex3                       = SET extension number 3
196 [ req_attributes ]
197 challengePassword               = A challenge password
198 challengePassword_min           = 4
199 challengePassword_max           = 20
201 unstructuredName                = An optional company name
203 [ usr_cert ]
205 # These extensions are added when 'ca' signs a request.
207 # This goes against PKIX guidelines but some CAs do it and some software
208 # requires this to avoid interpreting an end user certificate as a CA.
210 basicConstraints=CA:FALSE
212 # This is typical in keyUsage for a client certificate.
213 # keyUsage = nonRepudiation, digitalSignature, keyEncipherment
215 # PKIX recommendations harmless if included in all certificates.
216 subjectKeyIdentifier=hash
217 authorityKeyIdentifier=keyid,issuer
219 # This stuff is for subjectAltName and issuerAltname.
220 # Import the email address.
221 # subjectAltName=email:copy
222 # An alternative to produce certificates that aren't
223 # deprecated according to PKIX.
224 # subjectAltName=email:move
226 # Copy subject details
227 # issuerAltName=issuer:copy
229 # This is required for TSA certificates.
230 # extendedKeyUsage = critical,timeStamping
232 [ v3_req ]
234 # Extensions to add to a certificate request
236 basicConstraints = CA:FALSE
237 keyUsage = nonRepudiation, digitalSignature, keyEncipherment
239 [ v3_ca ]
242 # Extensions for a typical CA
245 # PKIX recommendation.
247 subjectKeyIdentifier=hash
249 authorityKeyIdentifier=keyid:always,issuer
251 basicConstraints = critical,CA:true
253 # Key usage: this is typical for a CA certificate. However since it will
254 # prevent it being used as an test self-signed certificate it is best
255 # left out by default.
256 # keyUsage = cRLSign, keyCertSign
258 # Include email address in subject alt name: another PKIX recommendation
259 # subjectAltName=email:copy
260 # Copy issuer details
261 # issuerAltName=issuer:copy
263 # DER hex encoding of an extension: beware experts only!
264 # obj=DER:02:03
265 # Where 'obj' is a standard or added object
266 # You can even override a supported extension:
267 # basicConstraints= critical, DER:30:03:01:01:FF
269 [ crl_ext ]
271 # CRL extensions.
272 # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
274 # issuerAltName=issuer:copy
275 authorityKeyIdentifier=keyid:always
277 [ proxy_cert_ext ]
278 # These extensions should be added when creating a proxy certificate
280 # This goes against PKIX guidelines but some CAs do it and some software
281 # requires this to avoid interpreting an end user certificate as a CA.
283 basicConstraints=CA:FALSE
285 # This is typical in keyUsage for a client certificate.
286 # keyUsage = nonRepudiation, digitalSignature, keyEncipherment
288 # PKIX recommendations harmless if included in all certificates.
289 subjectKeyIdentifier=hash
290 authorityKeyIdentifier=keyid,issuer
292 # This stuff is for subjectAltName and issuerAltname.
293 # Import the email address.
294 # subjectAltName=email:copy
295 # An alternative to produce certificates that aren't
296 # deprecated according to PKIX.
297 # subjectAltName=email:move
299 # Copy subject details
300 # issuerAltName=issuer:copy
302 # This really needs to be in place for it to be a proxy certificate.
303 proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
305 ####################################################################
306 [ tsa ]
308 default_tsa = tsa_config1       # the default TSA section
310 [ tsa_config1 ]
312 # These are used by the TSA reply generation only.
313 dir             = ./demoCA              # TSA root directory
314 serial          = $dir/tsaserial        # The current serial number (mandatory)
315 crypto_device   = builtin               # OpenSSL engine to use for signing
316 signer_cert     = $dir/tsacert.pem      # The TSA signing certificate
317                                         # (optional)
318 certs           = $dir/cacert.pem       # Certificate chain to include in reply
319                                         # (optional)
320 signer_key      = $dir/private/tsakey.pem # The TSA private key (optional)
321 signer_digest  = sha256                 # Signing digest to use. (Optional)
322 default_policy  = tsa_policy1           # Policy if request did not specify it
323                                         # (optional)
324 other_policies  = tsa_policy2, tsa_policy3      # acceptable policies (optional)
325 digests     = sha1, sha256, sha384, sha512  # Acceptable message digests (mandatory)
326 accuracy        = secs:1, millisecs:500, microsecs:100  # (optional)
327 clock_precision_digits  = 0     # number of digits after dot. (optional)
328 ordering                = yes   # Is ordering defined for timestamps?
329                                 # (optional, default: no)
330 tsa_name                = yes   # Must the TSA name be included in the reply?
331                                 # (optional, default: no)
332 ess_cert_id_chain       = no    # Must the ESS cert id chain be included?
333                                 # (optional, default: no)
334 ess_cert_id_alg         = sha1  # algorithm to compute certificate
335                                 # identifier (optional, default: sha1)
337 [insta] # CMP using Insta Demo CA
338 # Message transfer
339 server = pki.certificate.fi:8700
340 # proxy = # set this as far as needed, e.g., http://192.168.1.1:8080
341 # tls_use = 0
342 path = pkix/
344 # Server authentication
345 recipient = "/C=FI/O=Insta Demo/CN=Insta Demo CA" # or set srvcert or issuer
346 ignore_keyusage = 1 # potentially needed quirk
347 unprotected_errors = 1 # potentially needed quirk
348 extracertsout = insta.extracerts.pem
350 # Client authentication
351 ref = 3078 # user identification
352 secret = pass:insta # can be used for both client and server side
354 # Generic message options
355 cmd = ir # default operation, can be overridden on cmd line with, e.g., kur
357 # Certificate enrollment
358 subject = "/CN=openssl-cmp-test"
359 newkey = insta.priv.pem
360 out_trusted = apps/insta.ca.crt # does not include keyUsage digitalSignature
361 certout = insta.cert.pem
363 [pbm] # Password-based protection for Insta CA
364 # Server and client authentication
365 ref = $insta::ref # 3078
366 secret = $insta::secret # pass:insta
368 [signature] # Signature-based protection for Insta CA
369 # Server authentication
370 trusted = $insta::out_trusted # apps/insta.ca.crt
372 # Client authentication
373 secret = # disable PBM
374 key = $insta::newkey # insta.priv.pem
375 cert = $insta::certout # insta.cert.pem
377 [ir]
378 cmd = ir
380 [cr]
381 cmd = cr
383 [kur]
384 # Certificate update
385 cmd = kur
386 oldcert = $insta::certout # insta.cert.pem
388 [rr]
389 # Certificate revocation
390 cmd = rr
391 oldcert = $insta::certout # insta.cert.pem