openssl.cnf 4.5 KB
Newer Older
1
#
2
# OpenSSL example configuration file.
3 4 5 6
# This is mostly being used for generation of certificate requests.
#

RANDFILE		= $ENV::HOME/.rnd
7
oid_file		= $ENV::HOME/.oid
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

####################################################################
[ ca ]
default_ca	= CA_default		# The default ca section

####################################################################
[ CA_default ]

dir		= ./demoCA		# Where everything is kept
certs		= $dir/certs		# Where the issued certs are kept
crl_dir		= $dir/crl		# Where the issued crl are kept
database	= $dir/index.txt	# database index file.
new_certs_dir	= $dir/newcerts		# default place for new certs.

certificate	= $dir/cacert.pem 	# The CA certificate
serial		= $dir/serial 		# The current serial number
crl		= $dir/crl.pem 		# The current CRL
private_key	= $dir/private/cakey.pem# The private key
RANDFILE	= $dir/private/.rand	# private random number file

28
x509_extensions	= usr_cert		# The extentions to add to the cert
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
default_days	= 365			# how long to certify for
default_crl_days= 30			# how long before next CRL
default_md	= md5			# which md to use.
preserve	= no			# keep passed DN ordering

# A few difference way of specifying how similar the request should look
# For type CA, the listed attributes must be the same, and the optional
# and supplied fields are just that :-)
policy		= policy_match

# For the CA policy
[ policy_match ]
countryName		= match
stateOrProvinceName	= match
organizationName	= match
organizationalUnitName	= optional
commonName		= supplied
emailAddress		= optional

# For the 'anything' policy
# At this point in time, you must list all acceptable 'object'
# types.
[ policy_anything ]
countryName		= optional
stateOrProvinceName	= optional
localityName		= optional
organizationName	= optional
organizationalUnitName	= optional
commonName		= supplied
emailAddress		= optional

####################################################################
[ req ]
default_bits		= 1024
default_keyfile 	= privkey.pem
distinguished_name	= req_distinguished_name
attributes		= req_attributes
66
x509_extensions	= v3_ca	# The extentions to add to the self signed cert
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

[ req_distinguished_name ]
countryName			= Country Name (2 letter code)
countryName_default		= AU
countryName_min			= 2
countryName_max			= 2

stateOrProvinceName		= State or Province Name (full name)
stateOrProvinceName_default	= Some-State

localityName			= Locality Name (eg, city)

0.organizationName		= Organization Name (eg, company)
0.organizationName_default	= Internet Widgits Pty Ltd

# we can do this but it is not needed normally :-)
#1.organizationName		= Second Organization Name (eg, company)
84
#1.organizationName_default	= World Wide Web Pty Ltd
85 86 87 88 89 90 91 92 93 94

organizationalUnitName		= Organizational Unit Name (eg, section)
#organizationalUnitName_default	=

commonName			= Common Name (eg, YOUR name)
commonName_max			= 64

emailAddress			= Email Address
emailAddress_max		= 40

95 96
SET-ex3				= SET extension number 3

97 98 99 100 101 102 103
[ req_attributes ]
challengePassword		= A challenge password
challengePassword_min		= 4
challengePassword_max		= 20

unstructuredName		= An optional company name

104
[ usr_cert ]
105

106
# These extensions are added when 'ca' signs a request.
107

108 109
# This goes against PKIX guidelines but some CAs do it and some software
# requires this to avoid interpreting an end user certificate as a CA.
110

111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
basicConstraints=CA:FALSE

# Here are some examples of the usage of nsCertType. If it is omitted
# the certificate can be used for anything *except* object signing.

# This is OK for an SSL server.
#nsCertType			= server

# For an object signing certificate this would be used.
#nsCertType = objsign

# For normal client use this is typical
#nsCertType = client, email

# This is typical also

keyUsage = nonRepudiation, digitalSignature, keyEncipherment

nsComment			= "OpenSSL Generated Certificate"
130
subjectKeyIdentifier=hash
131 132

#nsCaRevocationUrl		= http://www.domain.dom/ca-crl.pem
133 134 135 136 137 138
#nsBaseUrl
#nsRevocationUrl
#nsRenewalUrl
#nsCaPolicyUrl
#nsSslServerName

139 140 141 142
[ v3_ca]

# Extensions for a typical CA

143
# It's a CA certificate
144 145
basicConstraints = CA:true

146 147 148 149
# PKIX recommendation.

subjectKeyIdentifier=hash

150 151 152 153 154 155
# This is what PKIX recommends but some broken software chokes on critical
# extensions.
#basicConstraints = critical,CA:true

# Key usage: again this should really be critical.
keyUsage = cRLSign, keyCertSign
156

157 158
# Some might want this also
#nsCertType = sslCA, emailCA
159 160 161 162 163

# RAW DER hex encoding of an extension: beware experts only!
# 1.2.3.5=RAW:02:03
# You can even override a supported extension:
# basicConstraints= critical, RAW:30:03:01:01:FF