Transitioning the default keystore format to PKCS#12
Michael StJohns
mstjohns at comcast.net
Sun Nov 4 21:31:32 UTC 2012
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
More information about the security-dev
mailing list