More X509 V3 stuff. Add support for extensions in the 'req' application
[openssl.git] / apps / openssl.cnf
1 #
2 # OpenSSL example configuration file.
3 # This is mostly being used for generation of certificate requests.
4 #
5
6 RANDFILE                = $ENV::HOME/.rnd
7 oid_file                = $ENV::HOME/.oid
8
9 ####################################################################
10 [ ca ]
11 default_ca      = CA_default            # The default ca section
12
13 ####################################################################
14 [ CA_default ]
15
16 dir             = ./demoCA              # Where everything is kept
17 certs           = $dir/certs            # Where the issued certs are kept
18 crl_dir         = $dir/crl              # Where the issued crl are kept
19 database        = $dir/index.txt        # database index file.
20 new_certs_dir   = $dir/newcerts         # default place for new certs.
21
22 certificate     = $dir/cacert.pem       # The CA certificate
23 serial          = $dir/serial           # The current serial number
24 crl             = $dir/crl.pem          # The current CRL
25 private_key     = $dir/private/cakey.pem# The private key
26 RANDFILE        = $dir/private/.rand    # private random number file
27
28 x509_extensions = x509v3_extensions     # The extentions to add to the cert
29 default_days    = 365                   # how long to certify for
30 default_crl_days= 30                    # how long before next CRL
31 default_md      = md5                   # which md to use.
32 preserve        = no                    # keep passed DN ordering
33
34 # A few difference way of specifying how similar the request should look
35 # For type CA, the listed attributes must be the same, and the optional
36 # and supplied fields are just that :-)
37 policy          = policy_match
38
39 # For the CA policy
40 [ policy_match ]
41 countryName             = match
42 stateOrProvinceName     = match
43 organizationName        = match
44 organizationalUnitName  = optional
45 commonName              = supplied
46 emailAddress            = optional
47
48 # For the 'anything' policy
49 # At this point in time, you must list all acceptable 'object'
50 # types.
51 [ policy_anything ]
52 countryName             = optional
53 stateOrProvinceName     = optional
54 localityName            = optional
55 organizationName        = optional
56 organizationalUnitName  = optional
57 commonName              = supplied
58 emailAddress            = optional
59
60 ####################################################################
61 [ req ]
62 default_bits            = 1024
63 default_keyfile         = privkey.pem
64 distinguished_name      = req_distinguished_name
65 attributes              = req_attributes
66 x509_extensions = v3_ca # The extentions to add to the cert
67
68 [ req_distinguished_name ]
69 countryName                     = Country Name (2 letter code)
70 countryName_default             = AU
71 countryName_min                 = 2
72 countryName_max                 = 2
73
74 stateOrProvinceName             = State or Province Name (full name)
75 stateOrProvinceName_default     = Some-State
76
77 localityName                    = Locality Name (eg, city)
78
79 0.organizationName              = Organization Name (eg, company)
80 0.organizationName_default      = Internet Widgits Pty Ltd
81
82 # we can do this but it is not needed normally :-)
83 #1.organizationName             = Second Organization Name (eg, company)
84 #1.organizationName_default     = World Wide Web Pty Ltd
85
86 organizationalUnitName          = Organizational Unit Name (eg, section)
87 #organizationalUnitName_default =
88
89 commonName                      = Common Name (eg, YOUR name)
90 commonName_max                  = 64
91
92 emailAddress                    = Email Address
93 emailAddress_max                = 40
94
95 SET-ex3                         = SET extension number 3
96
97 [ req_attributes ]
98 challengePassword               = A challenge password
99 challengePassword_min           = 4
100 challengePassword_max           = 20
101
102 unstructuredName                = An optional company name
103
104 [ x509v3_extensions ]
105
106 nsCaRevocationUrl               = http://www.domain.dom/ca-crl.pem
107 nsComment                       = "This is a comment"
108
109 # under ASN.1, the 0 bit would be encoded as 80
110 nsCertType                      = 0x40
111
112 #nsBaseUrl
113 #nsRevocationUrl
114 #nsRenewalUrl
115 #nsCaPolicyUrl
116 #nsSslServerName
117 #nsCertSequence
118 #nsCertExt
119 #nsDataType
120
121 [ v3_ca]
122
123 # Extensions for a typical CA
124
125 basicConstraints = CA:true
126 keyUsage = cRLSign, keyCertSign
127
128