Re: PolicyMappings extensions marked CRITICAL


Title:
Dan,

I believe that I did mark the policyMappings extension as critical whenever it appeared in a certificate.

It is true that RFC 3280 mandates that the extension be marked critical.  Although, I am going to recommend that son-of-RFC 3280 allow the extension to be marked either critical or non-critical.

U-T Rec. X.509 (03/2000) Information technology – Open system When the policyMappings extension was first defined (see RFC 2459), both X.509 and RFC 2459 stated that the extension must always be non-critical.  This was appropriate given its semantics.  About 4 or 5 years ago, however, there was a complete re-write of the policy processing portion of X.509 (which is reflected in RFC 3280).  Given the changes in the processing of the policyMappings extension, it is now appropriate to allow the extension to be marked critical.  In fact, X.509 states:
[X.509 4th edition, clause 8.2.2.7] "This [policyMappings] extension may, at the option of the certificate issuer, be either critical or non-critical. It is recommended that it be critical, otherwise a certificate user may not correctly interpret the stipulation of the issuing CA."

Aside from the fact that relying parties should be prepared for the possibility that this extension may be set as critical because that is legal in X.509, setting the criticality bit should not cause problems for relying parties.  The criticality bit should only be used by clients as follows.  If the client can not process the extension and the extension is marked critical, then the client should reject the certificate. If the client can not process the extension and the extension is marked non-critical, then the client should ignore the extension.  If the client can process the extension, then the criticality bit may be ignored.

There is no need for RFC 3280 or PKITS to define semantics for a critical policyMappings extension because the semantics of the policyMappings extension are not changed by the value of the criticality bit.  Marking the extension as critical just indicates that clients that can not process the extension must reject the certificate.

Dave



Dan Proietti wrote:
A number (if not all) of the certificates in the test suite that include
a PolicyMappings extension also mark it CRITICAL.  This seems to be a
violation of the specification, according to RFC 3280 Section 4.2.1.6
which states:

   This extension MAY be supported by CAs and/or applications, and it
   MUST be non-critical.

I'm concerned that this could cause otherwise conforming path validation
routines to fail the suite because the criticality indicator is not
expected to be set and no semantics are defined for it, in either 3280
or the PKITS documentation.


Dan Proietti


Date Index | Thread Index | Problems or questions? Contact list-master@nist.gov