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