Wyllys Ingersoll wrote:
> Darren J Moffat wrote:
>> Will Fiveash wrote:
>>> In regards to pktool I think the problem is that:
>>>
>>> list_pk11_objects() calls token_auth_needed() which does:
>>>
>>>     ckrv = C_GetTokenInfo(slot, &info);
>>>     if (ckrv != KMF_OK)
>>>         return (KMF_ERR_INTERNAL);
>>>
>>>     *auth = (info.flags & CKF_LOGIN_REQUIRED);
>>>
>>> and later in list_pk11_objects() there is:
>>>
>>>     if (oclass & (PK_CERT_OBJ | PK_PUBLIC_OBJ)) {
>>>         kmf_set_attr_at_index(attrlist, numattr, KMF_KEYSTORE_TYPE_ATTR,
>>>             &kstype, sizeof (kstype));
>>>
>>>         numattr++;
>>>         if (auth > 0 && (cred.cred == NULL)) {
>>>             (void) get_token_password(kstype, token, &cred);
>>>         }
>>>
>>> I don't think the logic that checks auth for PK_CERT_OBJ and
>>> PK_PUBLIC_OBJ class objects is correct.
>>
>> I agree that looks suspect to me.  While not strictly wrong according 
>> to the letter of the spec I think it is against the intent of it, and 
>> it certainly isn't a great UI experience for pktool.   I'd support 
>> chaning that.
>>
> 
> The problem I recall is that I think the SCA6000 requires login even for
> accessing public objects and "pktool list" without the logging in
> resulted in no objects being found.

Hmn, okay at least if I remove CKF_LOGIN_REQUIRED from softtoken that 
fixes the most common use case.   So maybe leave pktool alone then.

-- 
Darren J Moffat

Reply via email to