1*758e9fbaSOystein Eftevaag# 2*758e9fbaSOystein Eftevaag# OpenSSL configuration for the Intermediate Certification Authority. 3*758e9fbaSOystein Eftevaag# 4*758e9fbaSOystein Eftevaag 5*758e9fbaSOystein Eftevaag# 6*758e9fbaSOystein Eftevaag# This definition doesn't work if HOME isn't defined. 7*758e9fbaSOystein EftevaagCA_HOME = . 8*758e9fbaSOystein EftevaagRANDFILE = $ENV::CA_HOME/private/.rnd 9*758e9fbaSOystein Eftevaagoid_section = new_oids 10*758e9fbaSOystein Eftevaag 11*758e9fbaSOystein Eftevaag# 12*758e9fbaSOystein Eftevaag# XMPP address Support 13*758e9fbaSOystein Eftevaag[ new_oids ] 14*758e9fbaSOystein EftevaagxmppAddr = 1.3.6.1.5.5.7.8.5 15*758e9fbaSOystein EftevaagdnsSRV = 1.3.6.1.5.5.7.8.7 16*758e9fbaSOystein Eftevaag 17*758e9fbaSOystein Eftevaag# 18*758e9fbaSOystein Eftevaag# Default Certification Authority 19*758e9fbaSOystein Eftevaag[ ca ] 20*758e9fbaSOystein Eftevaagdefault_ca = intermed_ca 21*758e9fbaSOystein Eftevaag 22*758e9fbaSOystein Eftevaag# 23*758e9fbaSOystein Eftevaag# Intermediate Certification Authority 24*758e9fbaSOystein Eftevaag[ intermed_ca ] 25*758e9fbaSOystein Eftevaagdir = $ENV::CA_HOME 26*758e9fbaSOystein Eftevaagcerts = $dir/certs 27*758e9fbaSOystein Eftevaagserial = $dir/intermed-ca.serial 28*758e9fbaSOystein Eftevaagdatabase = $dir/intermed-ca.index 29*758e9fbaSOystein Eftevaagnew_certs_dir = $dir/newcerts 30*758e9fbaSOystein Eftevaagcertificate = $dir/intermed-ca.cert.pem 31*758e9fbaSOystein Eftevaagprivate_key = $dir/private/intermed-ca.key.pem 32*758e9fbaSOystein Eftevaagdefault_days = 730 # Two years 33*758e9fbaSOystein Eftevaagcrl = $dir/crl/intermed-ca.crl 34*758e9fbaSOystein Eftevaagcrl_dir = $dir/crl 35*758e9fbaSOystein Eftevaagcrlnumber = $dir/intermed-ca.crlnum 36*758e9fbaSOystein Eftevaagname_opt = multiline, align 37*758e9fbaSOystein Eftevaagcert_opt = no_pubkey 38*758e9fbaSOystein Eftevaagcopy_extensions = copy 39*758e9fbaSOystein Eftevaagcrl_extensions = crl_ext 40*758e9fbaSOystein Eftevaagdefault_crl_days = 30 41*758e9fbaSOystein Eftevaagdefault_md = sha256 42*758e9fbaSOystein Eftevaagpreserve = no 43*758e9fbaSOystein Eftevaagemail_in_dn = no 44*758e9fbaSOystein Eftevaagpolicy = policy 45*758e9fbaSOystein Eftevaagunique_subject = no 46*758e9fbaSOystein Eftevaag 47*758e9fbaSOystein Eftevaag# 48*758e9fbaSOystein Eftevaag# Distinguished Name Policy 49*758e9fbaSOystein Eftevaag[ policy ] 50*758e9fbaSOystein EftevaagcountryName = optional 51*758e9fbaSOystein EftevaagstateOrProvinceName = optional 52*758e9fbaSOystein EftevaaglocalityName = optional 53*758e9fbaSOystein EftevaagorganizationName = optional 54*758e9fbaSOystein EftevaagorganizationalUnitName = optional 55*758e9fbaSOystein EftevaagcommonName = supplied 56*758e9fbaSOystein Eftevaag 57*758e9fbaSOystein Eftevaag# 58*758e9fbaSOystein Eftevaag# Distinguished Name Policy for Personal Certificates 59*758e9fbaSOystein Eftevaag[ user_policy ] 60*758e9fbaSOystein EftevaagcountryName = supplied 61*758e9fbaSOystein EftevaagstateOrProvinceName = optional 62*758e9fbaSOystein EftevaaglocalityName = supplied 63*758e9fbaSOystein EftevaagorganizationName = optional 64*758e9fbaSOystein EftevaagorganizationalUnitName = optional 65*758e9fbaSOystein EftevaagcommonName = supplied 66*758e9fbaSOystein EftevaagemailAddress = supplied 67*758e9fbaSOystein Eftevaag#xmppAddr = optional # Added to SubjAltName by req 68*758e9fbaSOystein Eftevaag 69*758e9fbaSOystein Eftevaag# 70*758e9fbaSOystein Eftevaag# Intermediate CA request options 71*758e9fbaSOystein Eftevaag[ req ] 72*758e9fbaSOystein Eftevaagdefault_bits = 2048 73*758e9fbaSOystein Eftevaagdefault_keyfile = private/intermed-ca.key.pem 74*758e9fbaSOystein Eftevaagencrypt_key = yes 75*758e9fbaSOystein Eftevaagdefault_md = sha256 76*758e9fbaSOystein Eftevaagstring_mask = utf8only 77*758e9fbaSOystein Eftevaagutf8 = yes 78*758e9fbaSOystein Eftevaagprompt = no 79*758e9fbaSOystein Eftevaagreq_extensions = req_ext 80*758e9fbaSOystein Eftevaagdistinguished_name = distinguished_name 81*758e9fbaSOystein EftevaagsubjectAltName = subject_alt_name 82*758e9fbaSOystein Eftevaag 83*758e9fbaSOystein Eftevaag# 84*758e9fbaSOystein Eftevaag# Intermediate CA Request Extensions 85*758e9fbaSOystein Eftevaag[ req_ext ] 86*758e9fbaSOystein EftevaagsubjectKeyIdentifier = hash 87*758e9fbaSOystein EftevaagsubjectAltName = @subject_alt_name 88*758e9fbaSOystein Eftevaag 89*758e9fbaSOystein Eftevaag# 90*758e9fbaSOystein Eftevaag# Distinguished Name (DN) 91*758e9fbaSOystein Eftevaag[ distinguished_name ] 92*758e9fbaSOystein EftevaagorganizationName = tpm2-software 93*758e9fbaSOystein EftevaagcommonName = intermed ek ca 94*758e9fbaSOystein Eftevaag 95*758e9fbaSOystein Eftevaag# 96*758e9fbaSOystein Eftevaag# Server Certificate Extensions 97*758e9fbaSOystein Eftevaag[ server_ext ] 98*758e9fbaSOystein EftevaagbasicConstraints = CA:FALSE 99*758e9fbaSOystein EftevaagkeyUsage = critical, digitalSignature, keyEncipherment 100*758e9fbaSOystein EftevaagextendedKeyUsage = critical, serverAuth, clientAuth 101*758e9fbaSOystein EftevaagsubjectKeyIdentifier = hash 102*758e9fbaSOystein EftevaagauthorityKeyIdentifier = keyid:always 103*758e9fbaSOystein EftevaagissuerAltName = issuer:copy 104*758e9fbaSOystein EftevaagauthorityInfoAccess = @auth_info_access 105*758e9fbaSOystein EftevaagcrlDistributionPoints = crl_dist 106*758e9fbaSOystein Eftevaag 107*758e9fbaSOystein Eftevaag# 108*758e9fbaSOystein Eftevaag# Client Certificate Extensions 109*758e9fbaSOystein Eftevaag[ client_ext ] 110*758e9fbaSOystein EftevaagbasicConstraints = CA:FALSE 111*758e9fbaSOystein EftevaagkeyUsage = critical, digitalSignature 112*758e9fbaSOystein EftevaagextendedKeyUsage = critical, clientAuth 113*758e9fbaSOystein EftevaagsubjectKeyIdentifier = hash 114*758e9fbaSOystein EftevaagauthorityKeyIdentifier = keyid:always 115*758e9fbaSOystein EftevaagissuerAltName = issuer:copy 116*758e9fbaSOystein EftevaagauthorityInfoAccess = @auth_info_access 117*758e9fbaSOystein EftevaagcrlDistributionPoints = crl_dist 118*758e9fbaSOystein Eftevaag 119*758e9fbaSOystein Eftevaag# 120*758e9fbaSOystein Eftevaag# User Certificate Extensions 121*758e9fbaSOystein Eftevaag[ user_ext ] 122*758e9fbaSOystein EftevaagbasicConstraints = CA:FALSE 123*758e9fbaSOystein EftevaagkeyUsage = critical, digitalSignature 124*758e9fbaSOystein EftevaagextendedKeyUsage = critical, clientAuth, emailProtection 125*758e9fbaSOystein EftevaagsubjectKeyIdentifier = hash 126*758e9fbaSOystein EftevaagauthorityKeyIdentifier = keyid:always 127*758e9fbaSOystein EftevaagissuerAltName = issuer:copy 128*758e9fbaSOystein EftevaagauthorityInfoAccess = @auth_info_access 129*758e9fbaSOystein EftevaagcrlDistributionPoints = crl_dist 130*758e9fbaSOystein Eftevaag 131*758e9fbaSOystein Eftevaag# 132*758e9fbaSOystein Eftevaag# CRL Certificate Extensions 133*758e9fbaSOystein Eftevaag[ crl_ext ] 134*758e9fbaSOystein EftevaagauthorityKeyIdentifier = keyid:always 135*758e9fbaSOystein EftevaagissuerAltName = issuer:copy 136*758e9fbaSOystein Eftevaag 137*758e9fbaSOystein Eftevaag# 138*758e9fbaSOystein Eftevaag# Certificate Authorities Alternative Names 139*758e9fbaSOystein Eftevaag[ subject_alt_name ] 140*758e9fbaSOystein EftevaagURI = http://ca.example.net/ 141*758e9fbaSOystein Eftevaagemail = [email protected] 142*758e9fbaSOystein Eftevaag 143*758e9fbaSOystein Eftevaag# 144*758e9fbaSOystein Eftevaag# Certificate download addresses for the intermediate CA 145*758e9fbaSOystein Eftevaag[ auth_info_access ] 146*758e9fbaSOystein EftevaagcaIssuers;URI = INTERMEDCRT 147*758e9fbaSOystein Eftevaag 148*758e9fbaSOystein Eftevaag# 149*758e9fbaSOystein Eftevaag# CRL Download address for the intermediate CA 150*758e9fbaSOystein Eftevaag[ crl_dist ] 151*758e9fbaSOystein Eftevaagfullname = INTERMEDCRL 152*758e9fbaSOystein Eftevaag 153*758e9fbaSOystein Eftevaag# EOF 154