codekingpro/portable-devtools
114k
1#2# OpenSSL example configuration file.3# See doc/man5/config.pod for more info.4#5# This is mostly being used for generation of certificate requests,6# but may be used for auto loading of providers7 8# Note that you can include other files from the main configuration9# file using the .include directive.10#.include filename11 12# This definition stops the following lines choking if HOME isn't13# defined.14HOME = .15 16# Use this in order to automatically load providers.17openssl_conf = openssl_init18 19# Comment out the next line to ignore configuration errors20config_diagnostics = 121 22# Extra OBJECT IDENTIFIER info:23# oid_file = $ENV::HOME/.oid24oid_section = new_oids25 26# To use this configuration file with the "-extfile" option of the27# "openssl x509" utility, name here the section containing the28# X.509v3 extensions to use:29# extensions =30# (Alternatively, use a configuration file that has only31# X.509v3 extensions in its main [= default] section.)32 33[ new_oids ]34# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.35# Add a simple OID like this:36# testoid1=1.2.3.437# Or use config file substitution like this:38# testoid2=${testoid1}.5.639 40# Policies used by the TSA examples.41tsa_policy1 = 1.2.3.4.142tsa_policy2 = 1.2.3.4.5.643tsa_policy3 = 1.2.3.4.5.744 45# For FIPS46# Optionally include a file that is generated by the OpenSSL fipsinstall47# application. This file contains configuration data required by the OpenSSL48# fips provider. It contains a named section e.g. [fips_sect] which is49# referenced from the [provider_sect] below.50# Refer to the OpenSSL security policy for more information.51# .include fipsmodule.cnf52 53[openssl_init]54providers = provider_sect55 56# List of providers to load57[provider_sect]58default = default_sect59# The fips section name should match the section name inside the60# included fipsmodule.cnf.61# fips = fips_sect62 63# If no providers are activated explicitly, the default one is activated implicitly.64# See man 7 OSSL_PROVIDER-default for more details.65#66# If you add a section explicitly activating any other provider(s), you most67# probably need to explicitly activate the default provider, otherwise it68# becomes unavailable in openssl. As a consequence applications depending on69# OpenSSL may not work correctly which could lead to significant system70# problems including inability to remotely access the system.71[default_sect]72# activate = 173 74 75####################################################################76[ ca ]77default_ca = CA_default # The default ca section78 79####################################################################80[ CA_default ]81 82dir = /usr/ssl # Where everything is kept83certs = $dir/certs # Where the issued certs are kept84crl_dir = $dir/crl # Where the issued crl are kept85database = $dir/index.txt # database index file.86#unique_subject = no # Set to 'no' to allow creation of87 # several certs with same subject.88new_certs_dir = $dir/newcerts # default place for new certs.89 90certificate = $dir/cacert.pem # The CA certificate91serial = $dir/serial # The current serial number92crlnumber = $dir/crlnumber # the current crl number93 # must be commented out to leave a V1 CRL94crl = $dir/crl.pem # The current CRL95private_key = $dir/private/cakey.pem # The private key96 97x509_extensions = usr_cert # The extensions to add to the cert98 99# Comment out the following two lines for the "traditional"100# (and highly broken) format.101name_opt = ca_default # Subject Name options102cert_opt = ca_default # Certificate field options103 104# Extension copying option: use with caution.105# copy_extensions = copy106 107# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs108# so this is commented out by default to leave a V1 CRL.109# crlnumber must also be commented out to leave a V1 CRL.110# crl_extensions = crl_ext111 112default_days = 365 # how long to certify for113default_crl_days= 30 # how long before next CRL114default_md = default # use public key default MD115preserve = no # keep passed DN ordering116 117# A few difference way of specifying how similar the request should look118# For type CA, the listed attributes must be the same, and the optional119# and supplied fields are just that :-)120policy = policy_match121 122# For the CA policy123[ policy_match ]124countryName = match125stateOrProvinceName = match126organizationName = match127organizationalUnitName = optional128commonName = supplied129emailAddress = optional130 131# For the 'anything' policy132# At this point in time, you must list all acceptable 'object'133# types.134[ policy_anything ]135countryName = optional136stateOrProvinceName = optional137localityName = optional138organizationName = optional139organizationalUnitName = optional140commonName = supplied141emailAddress = optional142 143####################################################################144[ req ]145default_bits = 2048146default_keyfile = privkey.pem147distinguished_name = req_distinguished_name148attributes = req_attributes149x509_extensions = v3_ca # The extensions to add to the self signed cert150 151# Passwords for private keys if not present they will be prompted for152# input_password = secret153# output_password = secret154 155# This sets a mask for permitted string types. There are several options.156# default: PrintableString, T61String, BMPString.157# pkix : PrintableString, BMPString (PKIX recommendation before 2004)158# utf8only: only UTF8Strings (PKIX recommendation after 2004).159# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).160# MASK:XXXX a literal mask value.161# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.162string_mask = utf8only163 164# req_extensions = v3_req # The extensions to add to a certificate request165 166[ req_distinguished_name ]167countryName = Country Name (2 letter code)168countryName_default = AU169countryName_min = 2170countryName_max = 2171 172stateOrProvinceName = State or Province Name (full name)173stateOrProvinceName_default = Some-State174 175localityName = Locality Name (eg, city)176 1770.organizationName = Organization Name (eg, company)1780.organizationName_default = Internet Widgits Pty Ltd179 180# we can do this but it is not needed normally :-)181#1.organizationName = Second Organization Name (eg, company)182#1.organizationName_default = World Wide Web Pty Ltd183 184organizationalUnitName = Organizational Unit Name (eg, section)185#organizationalUnitName_default =186 187commonName = Common Name (e.g. server FQDN or YOUR name)188commonName_max = 64189 190emailAddress = Email Address191emailAddress_max = 64192 193# SET-ex3 = SET extension number 3194 195[ req_attributes ]196challengePassword = A challenge password197challengePassword_min = 4198challengePassword_max = 20199 200unstructuredName = An optional company name201 202[ usr_cert ]203 204# These extensions are added when 'ca' signs a request.205 206# This goes against PKIX guidelines but some CAs do it and some software207# requires this to avoid interpreting an end user certificate as a CA.208 209basicConstraints=CA:FALSE210 211# This is typical in keyUsage for a client certificate.212# keyUsage = nonRepudiation, digitalSignature, keyEncipherment213 214# PKIX recommendations harmless if included in all certificates.215subjectKeyIdentifier=hash216authorityKeyIdentifier=keyid,issuer217 218# This stuff is for subjectAltName and issuerAltname.219# Import the email address.220# subjectAltName=email:copy221# An alternative to produce certificates that aren't222# deprecated according to PKIX.223# subjectAltName=email:move224 225# Copy subject details226# issuerAltName=issuer:copy227 228# This is required for TSA certificates.229# extendedKeyUsage = critical,timeStamping230 231[ v3_req ]232 233# Extensions to add to a certificate request234 235basicConstraints = CA:FALSE236keyUsage = nonRepudiation, digitalSignature, keyEncipherment237 238[ v3_ca ]239 240 241# Extensions for a typical CA242 243 244# PKIX recommendation.245 246subjectKeyIdentifier=hash247 248authorityKeyIdentifier=keyid:always,issuer249 250basicConstraints = critical,CA:true251 252# Key usage: this is typical for a CA certificate. However since it will253# prevent it being used as an test self-signed certificate it is best254# left out by default.255# keyUsage = cRLSign, keyCertSign256 257# Include email address in subject alt name: another PKIX recommendation258# subjectAltName=email:copy259# Copy issuer details260# issuerAltName=issuer:copy261 262# DER hex encoding of an extension: beware experts only!263# obj=DER:02:03264# Where 'obj' is a standard or added object265# You can even override a supported extension:266# basicConstraints= critical, DER:30:03:01:01:FF267 268[ crl_ext ]269 270# CRL extensions.271# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.272 273# issuerAltName=issuer:copy274authorityKeyIdentifier=keyid:always275 276[ proxy_cert_ext ]277# These extensions should be added when creating a proxy certificate278 279# This goes against PKIX guidelines but some CAs do it and some software280# requires this to avoid interpreting an end user certificate as a CA.281 282basicConstraints=CA:FALSE283 284# This is typical in keyUsage for a client certificate.285# keyUsage = nonRepudiation, digitalSignature, keyEncipherment286 287# PKIX recommendations harmless if included in all certificates.288subjectKeyIdentifier=hash289authorityKeyIdentifier=keyid,issuer290 291# This stuff is for subjectAltName and issuerAltname.292# Import the email address.293# subjectAltName=email:copy294# An alternative to produce certificates that aren't295# deprecated according to PKIX.296# subjectAltName=email:move297 298# Copy subject details299# issuerAltName=issuer:copy300 301# This really needs to be in place for it to be a proxy certificate.302proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo303 304####################################################################305[ tsa ]306 307default_tsa = tsa_config1 # the default TSA section308 309[ tsa_config1 ]310 311# These are used by the TSA reply generation only.312dir = /usr/ssl # TSA root directory313serial = $dir/tsaserial # The current serial number (mandatory)314crypto_device = builtin # OpenSSL engine to use for signing315signer_cert = $dir/tsacert.pem # The TSA signing certificate316 # (optional)317certs = $dir/cacert.pem # Certificate chain to include in reply318 # (optional)319signer_key = $dir/private/tsakey.pem # The TSA private key (optional)320signer_digest = sha256 # Signing digest to use. (Optional)321default_policy = tsa_policy1 # Policy if request did not specify it322 # (optional)323other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional)324digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory)325accuracy = secs:1, millisecs:500, microsecs:100 # (optional)326clock_precision_digits = 0 # number of digits after dot. (optional)327ordering = yes # Is ordering defined for timestamps?328 # (optional, default: no)329tsa_name = yes # Must the TSA name be included in the reply?330 # (optional, default: no)331ess_cert_id_chain = no # Must the ESS cert id chain be included?332 # (optional, default: no)333ess_cert_id_alg = sha256 # algorithm to compute certificate334 # identifier (optional, default: sha256)335 336[insta] # CMP using Insta Demo CA337# Message transfer338server = pki.certificate.fi:8700339# proxy = # set this as far as needed, e.g., http://192.168.1.1:8080340# tls_use = 0341path = pkix/342 343# Server authentication344recipient = "/C=FI/O=Insta Demo/CN=Insta Demo CA" # or set srvcert or issuer345ignore_keyusage = 1 # quirk needed to accept Insta CA cert not including digitalsignature346unprotected_errors = 1 # quirk needed to accept negative responses possibly not protected347extracertsout = insta.extracerts.pem348 349# Client authentication350ref = 3078 # user identification351secret = pass:insta # can be used for both client and server side352 353# Generic message options354cmd = ir # default operation, can be overridden on cmd line with, e.g., kur355 356# Certificate enrollment357subject = "/CN=openssl-cmp-test"358newkey = insta.priv.pem359out_trusted = apps/insta.ca.crt # does not include keyUsage digitalSignature360certout = insta.cert.pem361 362[pbm] # Password-based protection for Insta CA363# Server and client authentication364ref = $insta::ref # 3078365secret = $insta::secret # pass:insta366 367[signature] # Signature-based protection for Insta CA368# Server authentication369trusted = $insta::out_trusted # apps/insta.ca.crt370 371# Client authentication372secret = # disable PBM373key = $insta::newkey # insta.priv.pem374cert = $insta::certout # insta.cert.pem375 376[ir]377cmd = ir378 379[cr]380cmd = cr381 382[kur]383# Certificate update384cmd = kur385oldcert = $insta::certout # insta.cert.pem386 387[rr]388# Certificate revocation389cmd = rr390oldcert = $insta::certout # insta.cert.pem391 