On Monday, February 8, 2016 at 12:43:19 PM UTC-8, Kathleen Wilson wrote: > One topic currently under discussion in Bug #1201423 is regarding root > certificates with serial number of 0. The error being returned by > http://cert-checker.allizom.org/ is "Serial number must be positive". > > Arguments raised in the bug: > >>> So zero is clearly non-conforming.
I agree that this is painfully and explicitly obvious to any reading of RFC 5280. > > >> The whole RFC5280 section 4.1 refers to the information associated > with the > >> subject of the certificate and the CA that issued it. This is not a > >> certificate issued by a CA, it is a self-signed certificate, which > is the > >> trust-anchor itself. <snip> > Does section 4.1 of RFC5280 apply to root certificates? A certificate cannot be both a certificate and not-a-certificate. The term CA is defined within RFC 5280, and consistent with both the Baseline Requirements and ITU/X.509, as the operational entity who causes issuance. That is, there is a CA, which possesses a key pair and a name, and they cause issuance of certificates. Note that the argument that 4.1.2 does not apply, based on Section 4.1, is to ignore both context and intent of RFC 5280. The term CA refers to the organizational entity ("certification authority", Section 3 of RFC 5280), not to the specific certificate. As such, when a CA (organization) uses a Root CA Key Pair (Section 6.1.1.1 of the Baseline Requirements) to sign Certificate Data (as defined in Section 1.6.1 of the BRs), then that act is to cause issuance of a Certificate (an act explicitly mentioned in Section 6.1.1.1p3 of the BRs). As such, the issued certificate MUST conform with RFC 5280 Further, I'm surprised (and disappointed) to see a CA argue this is somehow not the case, given that Section 3.2 of RFC 5280 makes it clear that self-issued and self-signed certificates are two distinct subclasses of the notion of CA certificate, and that certificate is a term and structure itself defined within RFC 5280. The discussion of trust anchors is a non-sequitur of client behaviour defined in Section 6.1 of RFC 5280, but that does not obviate the technical profile defined within Section 4.1, and merely describes how a conforming client should make use of that information, nor does it exempt such information from conforming (as evidenced in Section 6.2 of RFC 5280). To their unfortunate credit, they are not the only CA to make this argument - that the root CA is somehow exempt from the Baseline Requirements ( https://bugzilla.mozilla.org/show_bug.cgi?id=555156#c95 ), but I think to accept that argument would be to create a significant loophole that would put users at real risk. > Is a root certificate with serial number 00 compliant with RFC5280 and > the BRs? Such a certificate is non-compliant with RFC 5280. As such, the certificate is also not compliant with the Baseline Requirements, therefore not with the Mozilla Program Requirements. _______________________________________________ dev-security-policy mailing list dev-security-policy@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-security-policy