Suppose there are three key-pairs identified by the following names:

   - Root CA Alpha
   - Root CA Beta
   - Intermediate CA Gamma

Suppose a fairly traditional hierarchy utilizing those key-pairs:

   - Root CA Alpha has issued a certificate over its own public key. This 
   self-signed cert must comply with BRs 7.1.2.1 Root CA Certificate Profile.
   - Root CA Beta has issued a certificate over its own public key. Same as 
   above.
   - Root CA Beta has issued a basicConstraints CA=true cert over 
   Intermediate CA Gamma's public key. Intermediate CA Gamma must comply with 
   BRs 7.1.2.6 TLS Subordinate CA Certificate Profile.

Suppose that Root CA Alpha also cross-signs Root CA Beta. This cross-sign 
would normally be a TLS Subordinate CA Certificate Profile, subject to BRs 
7.1.2.6, except that it also matches the definition of BRs 7.1.2.2 
Cross-Certified Subordinate CA. Specifically it is "a CA Certificate using 
the same Subject Name and Subject Public Key Information as one or more 
existing CA Certificate(s), whether a Root CA Certificate or Subordinate CA 
Certificate." Therefore it has slightly looser requirements, namely in 
terms of extKeyUsages. This makes sense, as the whole point of the 
Cross-Certified Subordinate CA profile is to allow cross-certs to more 
closely match the original cert they're cross-signing.Suppose that Root CA 
Alpha also cross-signs Intermediate CA Gamma. Now we arrive at a problem. 
This certificate also meets the qualifications of a 7.1.2.2 Cross-Certified 
Subordinate CA: it has the same Subject Name and Public Key as an existing 
CA Certificate. This means that the EKU extension can be omitted entirely 
because it is "unrestricted". But this is very surprising! The TLS 
Subordinate CA Certificate it is cross-signing is clearly required to have 
EKUs. Why does this cross-sign get to omit them? It feels like this 
certificate should be required to abide by the 7.1.2.6 TLS Subordinate CA 
Certificate Profile, even though it meets the qualifications of 7.1.2.2.

If I have confused something, I apologize. Thank you for any guidance here.

-- 
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-security-policy/dcb791eb-4754-4389-a0ca-2551c9d55a7an%40mozilla.org.

Reply via email to