Santosh Chokhani wrote:
RFC 3280 is pretty clear on what determines a CA. It is based on basic constraints for version 3 certificates and out of band means for version 1 and 2. See section 4.2.1.10 (Basic Constraints) and step k in Section 6.1.4. Now we're getting to something interesting. So for retro-compatibility reasons, a proper implementation of RFC3280 should accept a certification path where one of the CA certificate has Basic Contraint CA=True but has no Key Usage extension. I don't feel really at ease with that. I'd be really wary when encoutering such a case and I'm not sure it corresponds to a very useful need. But so be it, and does give weight to Peter's argument that any cert with BC including CA=True should be handled as a CA cert in all cases. It would be extremely dangerous to allow a certificate to act as a certificate issuer if it has a key usage extension without the key cert Sign bit set and fortunately step n does not do that, it only allows through certificates with a *missing* key usage extension.RFC 3280 is also clear that CA certificate need not contain key usage extension, let alone have key cert Sign bit. See step n in Section 6.1.4. |