OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

pkcs11 message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [pkcs11] Updated CKA_PUBLIC_KEY_INFO


On 5/29/2013 5:52 PM, Burns, Robert wrote:
Mike,

Ok, it seems like we're going in circles here -- let me try a different tack....let me ask a question in order to hear what you're saying in a different context.  Perhaps then I will understand where you're coming from.

Let's assume that we are in agreement over requiring the CKA_PUBLIC_EXPONENT attribute on all RSA Private objects in 2.40.  I then believe that all P11 private objects have sufficient attributes to derive the public key from the object, (which you indicated in your email as well).

Ah - now I understand where you're tripping up. This has to do with whether or not an attribute is actually retrievable by a client from a private key object.

For RSA, both CKA_MODULUS and CKA_PUBLIC_EXPONENT are non-sensitive for an RSA private key. You can extract them even if CKA_SENSITIVE is TRUE for the private key.

For all the rest of the private key types, (and let's take an EC private key as the specific example), if the private key is CKA_SENSITIVE = TRUE, then you can't extract the necessary private key value (stored in CKA_VALUE for an EC key) to do the calculation to derive the public key as that (CKA_VALUE) attribute is considered sensitive. (See Table 15, item 7 tag).

So posit a private key that is CKA_SENSITIVE = TRUE (or CKA_EXTRACTABLE = FALSE), even if the private key contains sufficient data to regenerate the public key, it is NOT available directly to you, it can't be retrieved by a call to C_GetAttributeValue, and you cannot regenerate the public key with the publicly available attributes of the private key.

CKA_PUBLIC_KEY_INFO basically does: "In a secure manner, regenerate and return the public key from the private key OBJECT without compromising any of the private key sensitive data. You may do the regeneration once when the private key is created, or do it on demand when the attribute is retrieved."




Then my question to you is, do you still *need* the SPKI attribute on all Public, Private, and Certificate objects?  If so, why?
You need it on the private key. You might as well have it on the public key, and for the certificate it's just additional data that may or may not be useful. For the last two, it's mostly a don't care for me. I added the text more based on other comments. But it's going to stay now.


Thanks,

Bob





[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]