Subject: RE: SkipCerts Question [RFC3280]

From: Sharon Boeyen <[email-masked]>
Date: Wed, 26 Feb 2003 16:36:56 -0500

Santosh I agree with you that the extension in cert 1 with a skip certs
value of 1 DOES 
mean that the existence of cert 2 in the path reduces the skip certs value
to 0 and the 
constraint takes effect immediately. This is not in contradiction with X.509
however, as 
a Defect Report was issued that aligned the two. The last time I looked at
the wording 
in 509 however, I noticed that 2 additional changes are needed and submitted
a new DR 
to the London meeting to fix them. I wasn't at the London meeting however
and don't know 
what happened to the DR yet. 

However, one point I disagree with is with respect to your example of
End-Entity certificates.
If a trust anchor is issuing EE certs directly there is no certificate that
they could include
the policy constraints extension in. It is only permitted in CA
certificates. EE certs however 
DO decrement the value of the skip certs for requiresExplicitPolicy and as
such can have an 
effect on whether or not the policy is required. 509 did, as part of the
original DR make that 
change to allow them to decrement the count, but did not change the
requirement that the extension 
only be permitted in CA certs. 

Note, that this is the ONLY place where skipCerts is treated this way. For
inhibitPolicyMapping and 
inhibitAnyPolicy, they take effect on subsequent certificates only, not the
one that causes the 
count to reach zero and the certificates that need to align with the
constraint are ONLY those that 
are subsequent to the zero count, whereas with requiresExplicitPolicy it is
ALL certs in the path 
including those (if any) prior to the zero count being reached.

Cheers,
Sharon 

-----Original Message-----
From: Santosh Chokhani [mailto:[email-masked]]
Sent: Friday, February 21, 2003 4:47 AM
To: n Russ Housley
Cc: [email-masked]; [email-masked]
Subject: Re: SkipCerts Question [RFC3280]

Kozo and Russ:

Both of your e-mails are ambiguous to me.

Let me try to provide a clear answer and hopefully it will relate 
to the question being asked.

1.  For require explicit policy, the skipCerts starts applying to 
the certificate in which the value is asserted.  3280 is in contradiction 
in this area with X.509.  The reason it was done is so that in a 
case where trust anchor issues end entity certificates, the infrastructure 
can control turning on of this feature.

2.  DFor requireExpliclityPolicy once a value of zero is reached,
requires a common policy in each certificate (taking policy mapping 
into consideration).  Furthermore, if user initializes the path validation 
with one or more policies (other than anyPolicy), at least one of 
the user policies must appear in each certificate (again taking policy 
mapping into consideration).

3.  3280 is incomplete in the area of processing requireExplicitPolicy 
related stuff.  Specifically, it does not define how there is policy 
failure due to the requireExplicitPolicy being set.

In Kozo's scenario, cert2 need not have requireExplicitPolicy field.
But, since skipCert applies to cert1, by the time cert2 is processed,
requireExplicitPolicy flag is set and all three certiifcates cert0,
cert1, and cert2 must have at least one common policy asserted. 
In addition, if user initialized the path processing with some explicit 
policy(s), at least one of those policies must be common to all three 
certificates.

Any other interpretation by 3280 makes 3280 inconsistent with X.509 
in the area of policy processing.

At Thursday, 20 February 2003, Russ Housley <[email-masked]> 
wrote:

>Kozo:
>
>You understand correctly --  cert2 is not required to have an explicit 
policy.
>
>Russ
>
>At 07:45 PM 2/17/2003 +0900, [email-masked] wrote:
>
>>Dear all,
>>
>>We are now testing our certificate path validation
>>program in Japan.
>>And I have a question on the "SkipCerts" in the RFC3280.
>>
>>Would you please tell me?
>>
>>-----
>>According to the RFC3280,
>>
>>4.2.1.12  Policy Constraints
>>
>><snip>
>>
>>If the requireExplicitPolicy field is present, the value of
>>requireExplicitPolicy indicates the number of additional certificates
>>that may appear in the path before an explicit policy is required for
>>the entire path.
>>-----
>>
>>If there is a certificate path like the following,
>>   cert0
>>   cert1
>>   cert2
>>
>>and if the cert1 has the requireExplicitPolicy=1,
>>
>>is the cert2 required to have an explicit policy or not ?
>>
>>(Is the value applied to the cert1
>>  which has the requireExplicitPolicy=1?)
>>
>>I don't think the cert2 is required to have it,
>>but I'm not sure.
>>
>>Regards,
>>  Kozo
>>--------------------------------------------------------
>>Kozo FUJINO (TEL: +81-82-264-8544  FAX: +81-82-264-8549)
>>NEC System Technologies, Ltd.
>>Hiroshima, Japan
>

---

From: "Santosh Chokhani" <[email-masked]>
Date: Wed, 26 Feb 2003 20:53:03 -0500

Sharon:

I do not understand your first point.  Are you saying that X.509 will be
changed to align with 3280 and in that case skipCerts = 0 for
requireExplicitPolicy will also take effect in the next certificate?  Or,
are you saying that the difference between 3280 and X.509 will remain?  I
assume you agree that I am reading 3280 correctly.

BTW, on the second point, I meant to say that the trust anchor issues a CA
certificate and the CA  is acting as an end entity and we want the
requireExplicitPolicy to take affect immediately. 

-----Original Message-----
From: Sharon Boeyen [mailto:[email-masked]] 
Sent: Wednesday, February 26, 2003 4:37 PM
To: [email-masked]'; n Russ Housley
Cc: [email-masked]; [email-masked]
Subject: RE: SkipCerts Question [RFC3280]

However, one point I disagree with is with respect to your example of
End-Entity certificates. If a trust anchor is issuing EE certs directly
there is no certificate that they could include the policy constraints
extension in. It is only permitted in CA certificates. EE certs however 
DO decrement the value of the skip certs for requiresExplicitPolicy and as
such can have an 
effect on whether or not the policy is required. 509 did, as part of the
original DR make that 
change to allow them to decrement the count, but did not change the
requirement that the extension 
only be permitted in CA certs. 

Cheers,
Sharon 

-----Original Message-----
From: Santosh Chokhani [mailto:[email-masked]]
Sent: Friday, February 21, 2003 4:47 AM
To: n Russ Housley
Cc: [email-masked]; [email-masked]
Subject: Re: SkipCerts Question [RFC3280]

Kozo and Russ:

2.  DFor requireExpliclityPolicy once a value of zero is reached, requires a
common policy in each certificate (taking policy mapping 
into consideration).  Furthermore, if user initializes the path validation 
with one or more policies (other than anyPolicy), at least one of 
the user policies must appear in each certificate (again taking policy 
mapping into consideration).

In Kozo's scenario, cert2 need not have requireExplicitPolicy field. But,
since skipCert applies to cert1, by the time cert2 is processed,
requireExplicitPolicy flag is set and all three certiifcates cert0, cert1,
and cert2 must have at least one common policy asserted. 
In addition, if user initialized the path processing with some explicit 
policy(s), at least one of those policies must be common to all three 
certificates.

policy.