xref: /aosp_15_r20/external/tpm2-tss/script/ekca/root-ca.cnf (revision 758e9fba6fc9adbf15340f70c73baee7b168b1c9)
1*758e9fbaSOystein Eftevaag#
2*758e9fbaSOystein Eftevaag# OpenSSL configuration for the Root 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 Eftevaag
10*758e9fbaSOystein Eftevaag#
11*758e9fbaSOystein Eftevaag# Default Certification Authority
12*758e9fbaSOystein Eftevaag[ ca ]
13*758e9fbaSOystein Eftevaagdefault_ca              = root_ca
14*758e9fbaSOystein Eftevaag
15*758e9fbaSOystein Eftevaag#
16*758e9fbaSOystein Eftevaag# Root Certification Authority
17*758e9fbaSOystein Eftevaag[ root_ca ]
18*758e9fbaSOystein Eftevaagdir                     = $ENV::CA_HOME
19*758e9fbaSOystein Eftevaagcerts                   = $dir/certs
20*758e9fbaSOystein Eftevaagserial                  = $dir/root-ca.serial
21*758e9fbaSOystein Eftevaagdatabase                = $dir/root-ca.index
22*758e9fbaSOystein Eftevaagnew_certs_dir           = $dir/newcerts
23*758e9fbaSOystein Eftevaagcertificate             = $dir/root-ca.cert.pem
24*758e9fbaSOystein Eftevaagprivate_key             = $dir/private/root-ca.key.pem
25*758e9fbaSOystein Eftevaagdefault_days            = 1826 # Five years
26*758e9fbaSOystein Eftevaagcrl                     = $dir/root-ca.crl
27*758e9fbaSOystein Eftevaagcrl_dir                 = $dir/crl
28*758e9fbaSOystein Eftevaagcrlnumber               = $dir/root-ca.crlnum
29*758e9fbaSOystein Eftevaagname_opt                = multiline, align
30*758e9fbaSOystein Eftevaagcert_opt                = no_pubkey
31*758e9fbaSOystein Eftevaagcopy_extensions         = copy
32*758e9fbaSOystein Eftevaagcrl_extensions          = crl_ext
33*758e9fbaSOystein Eftevaagdefault_crl_days        = 180
34*758e9fbaSOystein Eftevaagdefault_md              = sha256
35*758e9fbaSOystein Eftevaagpreserve                = no
36*758e9fbaSOystein Eftevaagemail_in_dn             = no
37*758e9fbaSOystein Eftevaagpolicy                  = policy
38*758e9fbaSOystein Eftevaagunique_subject          = no
39*758e9fbaSOystein Eftevaag
40*758e9fbaSOystein Eftevaag#
41*758e9fbaSOystein Eftevaag# Distinguished Name Policy for CAs
42*758e9fbaSOystein Eftevaag[ policy ]
43*758e9fbaSOystein EftevaagcountryName             = optional
44*758e9fbaSOystein EftevaagstateOrProvinceName     = optional
45*758e9fbaSOystein EftevaaglocalityName            = optional
46*758e9fbaSOystein EftevaagorganizationName        = supplied
47*758e9fbaSOystein EftevaagorganizationalUnitName  = optional
48*758e9fbaSOystein EftevaagcommonName              = supplied
49*758e9fbaSOystein Eftevaag
50*758e9fbaSOystein Eftevaag#
51*758e9fbaSOystein Eftevaag# Root CA Request Options
52*758e9fbaSOystein Eftevaag[ req ]
53*758e9fbaSOystein Eftevaagdefault_bits            = 4096
54*758e9fbaSOystein Eftevaagdefault_keyfile         = private/root-ca.key.pem
55*758e9fbaSOystein Eftevaagencrypt_key             = yes
56*758e9fbaSOystein Eftevaagdefault_md              = sha256
57*758e9fbaSOystein Eftevaagstring_mask             = utf8only
58*758e9fbaSOystein Eftevaagutf8                    = yes
59*758e9fbaSOystein Eftevaagprompt                  = no
60*758e9fbaSOystein Eftevaagreq_extensions          = root-ca_req_ext
61*758e9fbaSOystein Eftevaagdistinguished_name      = distinguished_name
62*758e9fbaSOystein EftevaagsubjectAltName          = @subject_alt_name
63*758e9fbaSOystein Eftevaag
64*758e9fbaSOystein Eftevaag#
65*758e9fbaSOystein Eftevaag# Root CA Request Extensions
66*758e9fbaSOystein Eftevaag[ root-ca_req_ext ]
67*758e9fbaSOystein EftevaagsubjectKeyIdentifier    = hash
68*758e9fbaSOystein EftevaagsubjectAltName          = @subject_alt_name
69*758e9fbaSOystein Eftevaag
70*758e9fbaSOystein Eftevaag#
71*758e9fbaSOystein Eftevaag# Distinguished Name (DN)
72*758e9fbaSOystein Eftevaag[ distinguished_name ]
73*758e9fbaSOystein EftevaagorganizationName        = example.net
74*758e9fbaSOystein EftevaagcommonName              = example.net Root Certification Authority
75*758e9fbaSOystein Eftevaag
76*758e9fbaSOystein Eftevaag#
77*758e9fbaSOystein Eftevaag# Root CA Certificate Extensions
78*758e9fbaSOystein Eftevaag[ root-ca_ext ]
79*758e9fbaSOystein EftevaagbasicConstraints        = critical, CA:true
80*758e9fbaSOystein EftevaagkeyUsage                = critical, keyCertSign, cRLSign
81*758e9fbaSOystein EftevaagnameConstraints         = critical, @name_constraints
82*758e9fbaSOystein EftevaagsubjectKeyIdentifier    = hash
83*758e9fbaSOystein EftevaagsubjectAltName          = @subject_alt_name
84*758e9fbaSOystein EftevaagauthorityKeyIdentifier  = keyid:always
85*758e9fbaSOystein EftevaagissuerAltName           = issuer:copy
86*758e9fbaSOystein EftevaagauthorityInfoAccess     = @auth_info_access
87*758e9fbaSOystein EftevaagcrlDistributionPoints   = crl_dist
88*758e9fbaSOystein Eftevaag
89*758e9fbaSOystein Eftevaag#
90*758e9fbaSOystein Eftevaag# Intermediate CA Certificate Extensions
91*758e9fbaSOystein Eftevaag[ intermed-ca_ext ]
92*758e9fbaSOystein EftevaagbasicConstraints        = critical, CA:true, pathlen:0
93*758e9fbaSOystein EftevaagkeyUsage                = critical, keyCertSign, cRLSign
94*758e9fbaSOystein EftevaagsubjectKeyIdentifier    = hash
95*758e9fbaSOystein EftevaagsubjectAltName          = @subject_alt_name
96*758e9fbaSOystein EftevaagauthorityKeyIdentifier  = keyid:always
97*758e9fbaSOystein EftevaagissuerAltName           = issuer:copy
98*758e9fbaSOystein EftevaagauthorityInfoAccess     = @auth_info_access
99*758e9fbaSOystein EftevaagcrlDistributionPoints   = crl_dist
100*758e9fbaSOystein Eftevaag
101*758e9fbaSOystein Eftevaag#
102*758e9fbaSOystein Eftevaag# CRL Certificate Extensions
103*758e9fbaSOystein Eftevaag[ crl_ext ]
104*758e9fbaSOystein EftevaagauthorityKeyIdentifier  = keyid:always
105*758e9fbaSOystein EftevaagissuerAltName           = issuer:copy
106*758e9fbaSOystein Eftevaag
107*758e9fbaSOystein Eftevaag#
108*758e9fbaSOystein Eftevaag# Certificate Authorities Alternative Names
109*758e9fbaSOystein Eftevaag[ subject_alt_name ]
110*758e9fbaSOystein EftevaagURI                     = http://ca.example.net/
111*758e9fbaSOystein Eftevaagemail                   = [email protected]
112*758e9fbaSOystein Eftevaag
113*758e9fbaSOystein Eftevaag#
114*758e9fbaSOystein Eftevaag# Name Constraints
115*758e9fbaSOystein Eftevaag[ name_constraints ]
116*758e9fbaSOystein Eftevaagpermitted;DNS.1         = example.net
117*758e9fbaSOystein Eftevaagpermitted;DNS.2         = example.org
118*758e9fbaSOystein Eftevaagpermitted;DNS.3         = lan
119*758e9fbaSOystein Eftevaagpermitted;DNS.4         = onion
120*758e9fbaSOystein Eftevaagpermitted;email.1       = example.net
121*758e9fbaSOystein Eftevaagpermitted;email.2       = example.org
122*758e9fbaSOystein Eftevaag
123*758e9fbaSOystein Eftevaag#
124*758e9fbaSOystein Eftevaag# Certificate download addresses for the root CA
125*758e9fbaSOystein Eftevaag[ auth_info_access ]
126*758e9fbaSOystein EftevaagcaIssuers;URI           = ROOTCRT
127*758e9fbaSOystein Eftevaag
128*758e9fbaSOystein Eftevaag#
129*758e9fbaSOystein Eftevaag# CRL Download address for the root CA
130*758e9fbaSOystein Eftevaag[ crl_dist ]
131*758e9fbaSOystein Eftevaagfullname                = URI:ROOTCRL
132