At 11:14 PM 11/1/2012, Michael StJohns wrote:
>The appeal of re-purposing the extendedKeyUsage attribute is that it is 
>already well known as a certificate extension. And in addition, it can be used 
>by keystore owners to limit a cert's trust level to quite specific purposes.
>
>This is one of those things where you have to read the fine print.  
>AnyKeyUsage means exactly that.  It means the key pair associated with this 
>certificate can be used to sign pretty much anything and still be within 
>policy. It says nothing about the trust status of the associated certificate 
>or the public key within the certificate.  
>
>What you want is an attribute that says "this certificate is a representation 
>of a root of trust" and that attribute type doesn't exist AFAIK.
>
>I sent a note off to the PKIX mailing list to see if anyone has already 
>defined such a beast.  I should have an answer shortly.  If there isn't one, 
>you can either assign one from Sun/Oracle/Java's arc (and write a 1 pager 
>somewhere that describes the format) or better - write an Informational ID 
>that defines the format and submit it for publication.
>
>Mike
>


I haven't heard back from the PKIX group, but take a look at RFC5914 - section 
3 - Trust Anchor List.

Instead of adding an attribute in a CertBag with a type of 
ExtendedKeyUsage:AnyKey, instead, use the type and values in this section to 
create a TrustAnchorBag - use TrustAnchorList as the format and 
id-ct-trustAnchorList as the OID for the bag type.

Doing it this way allows you to avoid overloading the CertBag / PrivateKey 
pairing model, and should be an acceptable way of including trust anchors in a 
P12 file. 


I'm going to try and grab the author(s) of 5914 and see what they think.

Later, Mike



Reply via email to