On 02/05/17 16:52, Ryan Sleevi wrote:
On Tue, May 2, 2017 at 11:44 AM, Rob Stradling <[email protected]
<mailto:[email protected]>> wrote:
And if, as today, the Leaf cert doesn't contain 2.23.140.x.y.z, then
the same is true: the leaf would never validate with the
2.23.140.x.y.z OID in the user-initial-policy-set. Right? If so,
I'm not really sure why you think this approach would be "crude", tbh.
Because it's asserting a policy OID that's not valid within the policy
tree. Obviously, not asserting a policy OID that's not valid in the
policy tree is no big deal, as there's an infinite set of those that we
don't assert ;)
Again, I want to stress that it should technically work. But it also
comes with the side-effect that say, if a CP/CPS says "We only assert
policy OIDs that are valid in the policy tree" (and I have seen some
CP/CPSes or regulations to that effect, IIRC), then it means asserting
the anyPolicy in the intermediate, which may or may not be desirable.
Ah. I hadn't seen any such CP/CPSes.
It's assuming that CAs' software even lets them assert such policy OIDs.
I can totally see an issuance pipeline that refuses to allow issuance of
a leaf policy if the intermediate doesn't assert a compatible policy
(via policyMappings - which I have zero interest to support and it can
die in a fire, or via anyPolicy, or an explicit policy). So it's not
necessarily even a 'better' solution, from a "How deployable is this".
The purpose of policy OIDs is to constrain through the issuance tree the
validity, and this is 'hijacking' that because it's expressing something
about the leaf that is explicitly _not_ constrained by the issuing
intermediate.
That's the purpose of policy OIDs in intermediate certs, certainly.
However, I think it'd be reasonable to interpret this as a stand-alone
sentence:
"In an end entity certificate, these policy information terms indicate
the policy under which the certificate has been issued and the
purposes for which the certificate may be used."
(This kinda reminds me of the "gap" in the spec re: the use of EKU OIDs
in intermediate certs, and the resulting arguments that have spanned the
last decade or two ;-) )
But it's a moot point really. "How deployable is this?" is indeed the
right question to ask, and the side-effect you just mentioned would be
undesirable.
The extension avoids that to some extent (because it's "just" an
intermediate extension), but comes w/o any ability to apply constraints.
It's a different trade-off, but one I think at least captures the
'current' thinking. I was trying to avoid the over-engineering
discussion (that's possible with either solution) that could come about
if, say, we wanted to distinguish "This intermediate from this CA only
uses methods 4, 7, and 10" - (for which policy OIDs is absolutely the
correct thing, but which clients would need to supply it in the
user-initial-policy-set), and instead focus on "facts about the leaf" -
for which an extension is entirely sufficient and avoids the extra
engineering (which I've now introduced and I'm sure at least some will
latch onto as a means of derailing conversion :P)
--
Rob Stradling
Senior Research & Development Scientist
COMODO - Creating Trust Online
_______________________________________________
Public mailing list
[email protected]
https://cabforum.org/mailman/listinfo/public