Re: Test case 4.6.4
Evik,
This is really just a case where RFC 3280 needed to be more carefully
worded.
The state "[t]his extension MUST appear as a critical extension..." was
only intended to impose a requirement on CAs. It was not intended to
impose a requirement for relying parties to check the value of the
criticality bit.
In general, there are many places in which RFC 3280 imposes a
requirement on issuing CAs that is not imposed by X.509. However, there
was no intention in RFC 3280 to require a relying party to reject a
valid X.509 certificate simply because the certificate was not issued in
conformance with X.509. As a general rule, if a relying party
application can process an extension, then it can ignore the value of
the criticality bit.
So, while section 4.2.1.10 mandates that CAs mark the basicConstraints
extension as critical, section 6 does not require relying parties to
check the criticality bit.
Similarly, section 4.2.1.3 states that "[the keyUsage] extension MUST
appear in certificates that contain public keys that are used to
validate digital signatures on other public key certificates or CRLs."
This is, again, just a requirement for issuing CAs. That is why section
6.1.4 step (n) says: "If a key usage extension is present, verify that
the keyCertSign bit is set." While RFC 3280 requires conforming CAs to
include the extension, it is not a requirement in X.509 and so a
certificate may be valid even if the extension keyUsage extension is
omitted.
We are working to make this more clear in 3280bis. For example, in the
initial draft of 3280bis, the basicConstraints section states:
This extension MUST appear in all CA certificates that contain public
keys used to validate digital signatures on certificates. Conforming
CAs MUST mark the extension as critical in such certificates.
The idea is to make it more clear in 3280bis when a requirement only
applies to conforming CAs or only applies to conforming applications.
Dave
evik wrote:
>Hi
>
>I have a problem with test case
>4.6.4 Valid basicConstraints Not Critical Test4
>
>It states that the CA certificate contains the basicConstraints
>extension, the cA component is true, but the extension is marked not
>critical.
>
>In rfc3280 point 4.2.1.10 page 36 states this about basicConstraints:
>
> This extension MUST appear as a critical extension in all CA
> certificates that contain public keys used to validate digital
> signatures on certificates. This extension MAY appear as a
> critical or non-critical extension in CA certificates that contain
> public keys used exclusively for purposes other than validating
> digital signatures on certificates. Such CA certificates
> include ones that contain public keys used exclusively for validating
> digital signatures on CRLs and ones that contain key
> management public keys used with certificate enrollment protocols.
> This extension MAY appear as a critical or non-critical
> extension in end entity certificates.
>
>From this paragraph the first sentence is important.
>It clearly states that this extension MUST appear and MUST be marked as
>critical in CA certificates used for signing certificates. For this
>reason I think that the expected result for test case 4.6.4 should be:
>The path should NOT validate successfully because the extension is
>marked non critical.
>
>evik
>
Date Index |
Thread Index |
Problems or questions? Contact list-master@nist.gov