github.com/codingeasygo/util@v0.0.0-20231206062002-1ce2f004b7d9/xcrypto/openssl.cnf (about) 1 # 2 # OpenSSL example configuration file. 3 # This is mostly being used for generation of certificate requests. 4 # 5 6 # This definition stops the following lines choking if HOME isn't 7 # defined. 8 HOME = . 9 RANDFILE = $ENV::HOME/.rnd 10 11 # Extra OBJECT IDENTIFIER info: 12 #oid_file = $ENV::HOME/.oid 13 oid_section = new_oids 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 ] 32 default_ca = CA_default # The default ca section 33 34 #################################################################### 35 [ CA_default ] 36 37 dir = ./demoCA # Where everything is kept 38 certs = $dir/certs # Where the issued certs are kept 39 crl_dir = $dir/crl # Where the issued crl are kept 40 database = $dir/index.txt # database index file. 41 #unique_subject = no # Set to 'no' to allow creation of 42 # several ctificates with same subject. 43 new_certs_dir = $dir/newcerts # default place for new certs. 44 45 certificate = $dir/cacert.pem # The CA certificate 46 serial = $dir/serial # The current serial number 47 crlnumber = $dir/crlnumber # the current crl number 48 # must be commented out to leave a V1 CRL 49 crl = $dir/crl.pem # The current CRL 50 private_key = $dir/private/cakey.pem# The private key 51 RANDFILE = $dir/private/.rand # private random number file 52 53 x509_extensions = usr_cert # The extentions to add to the cert 54 55 # Comment out the following two lines for the "traditional" 56 # (and highly broken) format. 57 name_opt = ca_default # Subject Name options 58 cert_opt = ca_default # Certificate field options 59 60 # Extension copying option: use with caution. 61 copy_extensions = copy 62 63 # Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs 64 # so this is commented out by default to leave a V1 CRL. 65 # crlnumber must also be commented out to leave a V1 CRL. 66 # crl_extensions = crl_ext 67 68 default_days = 365 # how long to certify for 69 default_crl_days= 30 # how long before next CRL 70 default_md = sha1 # which md to use. 71 preserve = no # keep passed DN ordering 72 73 # A few difference way of specifying how similar the request should look 74 # For type CA, the listed attributes must be the same, and the optional 75 # and supplied fields are just that :-) 76 policy = policy_match 77 78 # For the CA policy 79 [ policy_match ] 80 countryName = match 81 stateOrProvinceName = match 82 organizationName = match 83 organizationalUnitName = optional 84 commonName = supplied 85 emailAddress = optional 86 87 # For the 'anything' policy 88 # At this point in time, you must list all acceptable 'object' 89 # types. 90 [ policy_anything ] 91 countryName = optional 92 stateOrProvinceName = optional 93 localityName = optional 94 organizationName = optional 95 organizationalUnitName = optional 96 commonName = supplied 97 emailAddress = optional 98 99 #################################################################### 100 [ req ] 101 default_bits = 1024 102 default_keyfile = privkey.pem 103 distinguished_name = req_distinguished_name 104 attributes = req_attributes 105 x509_extensions = v3_ca # The extentions to add to the self signed cert 106 107 # Passwords for private keys if not present they will be prompted for 108 # input_password = secret 109 # output_password = secret 110 111 # This sets a mask for permitted string types. There are several options. 112 # default: PrintableString, T61String, BMPString. 113 # pkix : PrintableString, BMPString. 114 # utf8only: only UTF8Strings. 115 # nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings). 116 # MASK:XXXX a literal mask value. 117 # WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings 118 # so use this option with caution! 119 string_mask = nombstr 120 121 req_extensions = v3_req # The extensions to add to a certificate request 122 123 [ req_distinguished_name ] 124 countryName = Country Name (2 letter code) 125 countryName_default = AU 126 countryName_min = 2 127 countryName_max = 2 128 129 stateOrProvinceName = State or Province Name (full name) 130 stateOrProvinceName_default = Some-State 131 132 localityName = Locality Name (eg, city) 133 134 0.organizationName = Organization Name (eg, company) 135 0.organizationName_default = Internet Widgits Pty Ltd 136 137 # we can do this but it is not needed normally :-) 138 #1.organizationName = Second Organization Name (eg, company) 139 #1.organizationName_default = World Wide Web Pty Ltd 140 141 organizationalUnitName = Organizational Unit Name (eg, section) 142 #organizationalUnitName_default = 143 144 commonName = Common Name (e.g. server FQDN or YOUR name) 145 commonName_max = 64 146 147 emailAddress = Email Address 148 emailAddress_max = 64 149 150 # SET-ex3 = SET extension number 3 151 152 [ req_attributes ] 153 challengePassword = A challenge password 154 challengePassword_min = 4 155 challengePassword_max = 20 156 157 unstructuredName = An optional company name 158 159 [ usr_cert ] 160 161 # These extensions are added when 'ca' signs a request. 162 163 # This goes against PKIX guidelines but some CAs do it and some software 164 # requires this to avoid interpreting an end user certificate as a CA. 165 166 basicConstraints=CA:FALSE 167 168 # Here are some examples of the usage of nsCertType. If it is omitted 169 # the certificate can be used for anything *except* object signing. 170 171 # This is OK for an SSL server. 172 # nsCertType = server 173 174 # For an object signing certificate this would be used. 175 # nsCertType = objsign 176 177 # For normal client use this is typical 178 # nsCertType = client, email 179 180 # and for everything including object signing: 181 # nsCertType = client, email, objsign 182 183 # This is typical in keyUsage for a client certificate. 184 # keyUsage = nonRepudiation, digitalSignature, keyEncipherment 185 186 # This will be displayed in Netscape's comment listbox. 187 nsComment = "OpenSSL Generated Certificate" 188 189 # PKIX recommendations harmless if included in all certificates. 190 subjectKeyIdentifier=hash 191 authorityKeyIdentifier=keyid,issuer 192 193 # This stuff is for subjectAltName and issuerAltname. 194 # Import the email address. 195 # subjectAltName=email:copy 196 # An alternative to produce certificates that aren't 197 # deprecated according to PKIX. 198 # subjectAltName=email:move 199 200 # Copy subject details 201 # issuerAltName=issuer:copy 202 203 #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem 204 #nsBaseUrl 205 #nsRevocationUrl 206 #nsRenewalUrl 207 #nsCaPolicyUrl 208 #nsSslServerName 209 210 [ v3_req ] 211 212 # Extensions to add to a certificate request 213 214 basicConstraints = CA:FALSE 215 keyUsage = nonRepudiation, digitalSignature, keyEncipherment 216 subjectAltName = @alt_names 217 218 [ v3_ca ] 219 220 221 # Extensions for a typical CA 222 subjectAltName = IP:127.0.0.1 223 224 # PKIX recommendation. 225 226 subjectKeyIdentifier=hash 227 228 authorityKeyIdentifier=keyid:always,issuer:always 229 230 # This is what PKIX recommends but some broken software chokes on critical 231 # extensions. 232 #basicConstraints = critical,CA:true 233 # So we do this instead. 234 basicConstraints = CA:true 235 236 # Key usage: this is typical for a CA certificate. However since it will 237 # prevent it being used as an test self-signed certificate it is best 238 # left out by default. 239 # keyUsage = cRLSign, keyCertSign 240 241 # Some might want this also 242 # nsCertType = sslCA, emailCA 243 244 # Include email address in subject alt name: another PKIX recommendation 245 # subjectAltName=email:copy 246 # Copy issuer details 247 # issuerAltName=issuer:copy 248 249 # DER hex encoding of an extension: beware experts only! 250 # obj=DER:02:03 251 # Where 'obj' is a standard or added object 252 # You can even override a supported extension: 253 # basicConstraints= critical, DER:30:03:01:01:FF 254 255 [ crl_ext ] 256 257 # CRL extensions. 258 # Only issuerAltName and authorityKeyIdentifier make any sense in a CRL. 259 260 # issuerAltName=issuer:copy 261 authorityKeyIdentifier=keyid:always,issuer:always 262 263 [ proxy_cert_ext ] 264 # These extensions should be added when creating a proxy certificate 265 266 # This goes against PKIX guidelines but some CAs do it and some software 267 # requires this to avoid interpreting an end user certificate as a CA. 268 269 basicConstraints=CA:FALSE 270 271 # Here are some examples of the usage of nsCertType. If it is omitted 272 # the certificate can be used for anything *except* object signing. 273 274 # This is OK for an SSL server. 275 # nsCertType = server 276 277 # For an object signing certificate this would be used. 278 # nsCertType = objsign 279 280 # For normal client use this is typical 281 # nsCertType = client, email 282 283 # and for everything including object signing: 284 # nsCertType = client, email, objsign 285 286 # This is typical in keyUsage for a client certificate. 287 # keyUsage = nonRepudiation, digitalSignature, keyEncipherment 288 289 # This will be displayed in Netscape's comment listbox. 290 nsComment = "OpenSSL Generated Certificate" 291 292 # PKIX recommendations harmless if included in all certificates. 293 subjectKeyIdentifier=hash 294 authorityKeyIdentifier=keyid,issuer:always 295 296 # This stuff is for subjectAltName and issuerAltname. 297 # Import the email address. 298 # subjectAltName=email:copy 299 # An alternative to produce certificates that aren't 300 # deprecated according to PKIX. 301 # subjectAltName=email:move 302 303 # Copy subject details 304 # issuerAltName=issuer:copy 305 306 #nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem 307 #nsBaseUrl 308 #nsRevocationUrl 309 #nsRenewalUrl 310 #nsCaPolicyUrl 311 #nsSslServerName 312 313 # This really needs to be in place for it to be a proxy certificate. 314 proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo 315 316 [ alt_names ] 317 DNS.1 = a.test.com 318 IP.1 = 127.0.0.1