1*6777b538SAndroid Build Coastguard Worker# Symantec Certificates 2*6777b538SAndroid Build Coastguard Worker 3*6777b538SAndroid Build Coastguard WorkerThis directory contains the set of known active and legacy root certificates 4*6777b538SAndroid Build Coastguard Workerthat were operated by Symantec Corporation. In order for certificates issued 5*6777b538SAndroid Build Coastguard Workerfrom these roots to be trusted, it is required that they comply with the 6*6777b538SAndroid Build Coastguard Workerpolicies outlined at <https://security.googleblog.com/2017/09/chromes-plan-to-distrust-symantec.html>. 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard WorkerThe exceptions to this are: 9*6777b538SAndroid Build Coastguard Worker * Pre-existing independently operated sub-CAs, whose keys were and are not 10*6777b538SAndroid Build Coastguard Worker controled by Symantec and which maintain current and appropriate audits. 11*6777b538SAndroid Build Coastguard Worker * The set of Managed CAs in accordance with the above policies. 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard WorkerIn addition to the above, no changes exist from the Certificate Transparency 14*6777b538SAndroid Build Coastguard Workerrequirement outlined at <https://security.googleblog.com/2015/10/sustaining-digital-certificate-security.html> 15*6777b538SAndroid Build Coastguard Worker 16*6777b538SAndroid Build Coastguard Worker## Implementation Details 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard WorkerPolicies related to these certificates are based on the hash of the 19*6777b538SAndroid Build Coastguard WorkersubjectPublicKeyInfo, rather than of the certificate, and without considering 20*6777b538SAndroid Build Coastguard Workerthe Subject Distinguished Name. 21*6777b538SAndroid Build Coastguard Worker 22*6777b538SAndroid Build Coastguard WorkerThe choice of using subjectPublicKeyInfo is two-fold: 23*6777b538SAndroid Build Coastguard Worker 24*6777b538SAndroid Build Coastguard Worker* If there are any concerns with the how the key material has been protected, 25*6777b538SAndroid Build Coastguard Worker those concerns apply to all subject names, not just the known subject names. 26*6777b538SAndroid Build Coastguard Worker By limiting trust in the SPKI, the underlying issue is addressed. This also 27*6777b538SAndroid Build Coastguard Worker helps address any concerns with potential cross-signs in the future, as has 28*6777b538SAndroid Build Coastguard Worker been seen in past CA remediation efforts. 29*6777b538SAndroid Build Coastguard Worker* Simultaneously, if there are no concerns with the SPKI, such as due to being 30*6777b538SAndroid Build Coastguard Worker on the exclusions list, then we want to ensure ecosystem flexibility in the 31*6777b538SAndroid Build Coastguard Worker event that the certificates themselves need to be reissued. The most likely 32*6777b538SAndroid Build Coastguard Worker cause for reissusance of Excluded Sub-CAs may be presumed to be either 33*6777b538SAndroid Build Coastguard Worker expiration or due to wanting to add additional extensions (such as to reduce 34*6777b538SAndroid Build Coastguard Worker the scope of issuance). To avoid unduly limiting the ecosystem flexibility 35*6777b538SAndroid Build Coastguard Worker in the event of those changes, excluding by SPKI allows for some limited 36*6777b538SAndroid Build Coastguard Worker agility, while being grounded in the objective evaluation of the key and how 37*6777b538SAndroid Build Coastguard Worker the key material has been operated and protected. In the context of Managed 38*6777b538SAndroid Build Coastguard Worker CAs, this ensures that additional (effectively cross-signed) versions of the 39*6777b538SAndroid Build Coastguard Worker Managed Partner Infrastructure can be introduced as needed, while ensuring no 40*6777b538SAndroid Build Coastguard Worker additional code changes or updates are necessary. 41*6777b538SAndroid Build Coastguard Worker 42*6777b538SAndroid Build Coastguard WorkerThus, identifying 'roots' (which may appear anywhere in the chain) by SPKI help 43*6777b538SAndroid Build Coastguard Workerensure the appropriate restrictions are applied, regardless of cross-signs or 44*6777b538SAndroid Build Coastguard Workerself-signed variations, while identifying 'exclusions' by SPKI helps ensure the 45*6777b538SAndroid Build Coastguard Workernecessary flexibility to respond to ecosystem changes. 46*6777b538SAndroid Build Coastguard Worker 47*6777b538SAndroid Build Coastguard Worker## Roots 48*6777b538SAndroid Build Coastguard Worker 49*6777b538SAndroid Build Coastguard WorkerThe full set of roots are in the [roots/](roots/) directory, organized by 50*6777b538SAndroid Build Coastguard WorkerSHA-256 hash of the certificate file. 51*6777b538SAndroid Build Coastguard Worker 52*6777b538SAndroid Build Coastguard WorkerThe following command can be used to match certificates and their key hashes: 53*6777b538SAndroid Build Coastguard Worker 54*6777b538SAndroid Build Coastguard Worker`` for f in roots/*.pem; do openssl x509 -noout -pubkey -in "${f}" | openssl asn1parse -inform pem -out /tmp/pubkey.out -noout; digest=`cat /tmp/pubkey.out | openssl dgst -sha256 -c | awk -F " " '{print $2}' | sed s/:/,0x/g `; echo "0x${digest} ${f##*/}"; done | sort `` 55*6777b538SAndroid Build Coastguard Worker 56*6777b538SAndroid Build Coastguard Worker## Excluded Sub-CAs 57*6777b538SAndroid Build Coastguard Worker 58*6777b538SAndroid Build Coastguard Worker### Apple 59*6777b538SAndroid Build Coastguard Worker 60*6777b538SAndroid Build Coastguard Worker[WebTrust Audit](https://cert.webtrust.org/ViewSeal?id=1917) 61*6777b538SAndroid Build Coastguard Worker[Certification Practices Statement](http://images.apple.com/certificateauthority/pdf/Apple_IST_CPS_v2.0.pdf) 62*6777b538SAndroid Build Coastguard Worker 63*6777b538SAndroid Build Coastguard Worker * [17f96609ac6ad0a2d6ab0a21b2d1b5b2946bd04dbf120703d1def6fb62f4b661.pem](excluded/17f96609ac6ad0a2d6ab0a21b2d1b5b2946bd04dbf120703d1def6fb62f4b661.pem) 64*6777b538SAndroid Build Coastguard Worker * [3db76d1dd7d3a759dccc3f8fa7f68675c080cb095e4881063a6b850fdd68b8bc.pem](excluded/3db76d1dd7d3a759dccc3f8fa7f68675c080cb095e4881063a6b850fdd68b8bc.pem) 65*6777b538SAndroid Build Coastguard Worker * [6115f06a338a649e61585210e76f2ece3989bca65a62b066040cd7c5f408edd0.pem](excluded/6115f06a338a649e61585210e76f2ece3989bca65a62b066040cd7c5f408edd0.pem) 66*6777b538SAndroid Build Coastguard Worker * [904fb5a437754b1b32b80ebae7416db63d05f56a9939720b7c8e3dcc54f6a3d1.pem](excluded/904fb5a437754b1b32b80ebae7416db63d05f56a9939720b7c8e3dcc54f6a3d1.pem) 67*6777b538SAndroid Build Coastguard Worker * [ac2b922ecfd5e01711772fea8ed372de9d1e2245fce3f57a9cdbec77296a424b.pem](excluded/ac2b922ecfd5e01711772fea8ed372de9d1e2245fce3f57a9cdbec77296a424b.pem) 68*6777b538SAndroid Build Coastguard Worker * [a4fe7c7f15155f3f0aef7aaa83cf6e06deb97ca3f909df920ac1490882d488ed.pem](excluded/a4fe7c7f15155f3f0aef7aaa83cf6e06deb97ca3f909df920ac1490882d488ed.pem) 69*6777b538SAndroid Build Coastguard Worker 70*6777b538SAndroid Build Coastguard Worker### DigiCert 71*6777b538SAndroid Build Coastguard Worker 72*6777b538SAndroid Build Coastguard Worker[WebTrust Audit](https://cert.webtrust.org/ViewSeal?id=2228) 73*6777b538SAndroid Build Coastguard Worker[Certification Practices Statement](https://www.digicert.com/CPS) 74*6777b538SAndroid Build Coastguard Worker 75*6777b538SAndroid Build Coastguard Worker * [8bb593a93be1d0e8a822bb887c547890c3e706aad2dab76254f97fb36b82fc26.pem](excluded/8bb593a93be1d0e8a822bb887c547890c3e706aad2dab76254f97fb36b82fc26.pem) 76*6777b538SAndroid Build Coastguard Worker * [b94c198300cec5c057ad0727b70bbe91816992256439a7b32f4598119dda9c97.pem](excluded/b94c198300cec5c057ad0727b70bbe91816992256439a7b32f4598119dda9c97.pem) 77*6777b538SAndroid Build Coastguard Worker 78*6777b538SAndroid Build Coastguard Worker### Google 79*6777b538SAndroid Build Coastguard Worker 80*6777b538SAndroid Build Coastguard Worker[WebTrust Audit](https://cert.webtrust.org/ViewSeal?id=1941) 81*6777b538SAndroid Build Coastguard Worker[Certification Practices Statement](http://static.googleusercontent.com/media/pki.google.com/en//GIAG2-CPS-1.3.pdf) 82*6777b538SAndroid Build Coastguard Worker 83*6777b538SAndroid Build Coastguard Worker * [c3f697a92a293d86f9a3ee7ccb970e20e0050b8728cc83ed1b996ce9005d4c36.pem](excluded/c3f697a92a293d86f9a3ee7ccb970e20e0050b8728cc83ed1b996ce9005d4c36.pem) 84*6777b538SAndroid Build Coastguard Worker 85*6777b538SAndroid Build Coastguard Worker## Excluded Managed CAs 86*6777b538SAndroid Build Coastguard Worker 87*6777b538SAndroid Build Coastguard Worker### DigiCert 88*6777b538SAndroid Build Coastguard Worker 89*6777b538SAndroid Build Coastguard Worker * [7cac9a0ff315387750ba8bafdb1c2bc29b3f0bba16362ca93a90f84da2df5f3e.pem](managed/7cac9a0ff315387750ba8bafdb1c2bc29b3f0bba16362ca93a90f84da2df5f3e.pem) 90*6777b538SAndroid Build Coastguard Worker * [ac50b5fb738aed6cb781cc35fbfff7786f77109ada7c08867c04a573fd5cf9ee.pem](managed/ac50b5fb738aed6cb781cc35fbfff7786f77109ada7c08867c04a573fd5cf9ee.pem) 91