On 2/11/2011 11:43 AM, Martin Paljak wrote:
>
> On Feb 11, 2011, at 6:55 PM, Douglas E. Engert wrote:
>> On 2/11/2011 3:24 AM, Martin Paljak wrote:
>>> On Fri, Feb 4, 2011 at 01:19, Andre Zepezauer
>>> <andre.zepeza...@student.uni-halle.de>   wrote:
>>>
>>>> BTW: The main handle in OpenSC is 'sc_pkcs15_card_t' and not
>>>> 'sc_context_t'. In fact 'sc_context_t' is really unimportant. But
>>>> sc_pkcs15_card_t holds all the operational state the is required to make
>>>> things working. Have a look at VENDOR_SPECIFIC, there is only one OpenSC
>>>> specific field needed.
>>>
>>> This is actually a very good idea.
>>> sc_pkcs15_card_from_handles(hContext, hCard) ->   pkcs15_card_t or NULL
>>> is a sensible thing to expose, in pair with
>>> sc_pkcs15_card_from_reader(reader_name)
>>
>> But the reader-pcsc.c is still out there detecting readers. Given a
>> reader_name this may work on Mac. Given a handle on Windows to a reader,
>> one could read the reader name, but if there are multiple readers from the
>> same vendor with the same name how do you tell them apart? Who
>> creates the unique name for the readers on the system?
>> Given a handle  do you determine you have found the same reader that
>> the Microsoft BaseCSP said to use.
>
> reader-pcsc.c must detect readers only when asked to do that.
>
> PC/SC subsystem assigns reader names. And two readers from the same 
> manufacturer IIRC get index number appended to the end of the name, like with 
> pcsc-lite ?
>

OK then it would be possible to use the BaseCSP provided handle to get
the reader name, then use the reader name to get a new handle
to the same reader.

That would be a completely different approach for cardmod then what
we have been talking about in other e-mails.

The question is which is a better way to do this? Are there any subtle
differences in not using the handles provided by the BaseCSP? There might be,
and that is why I have been leaning to using the BaseCSP handles. What do
other CSPs or mini-drivers do?




> It makes sense to expose the PKCS#15 layer instead of requiring these two 
> callers (Tokend, BaseCSP) re-implement the "do the tasks that are needed to 
> get either a PKCS#15 card object or error" in two different places. And 
> advertise the "get pkcs15 card object" API to external users.
>
>> Is there any PC/SC call to detect if two handles point to the same reader?
>>
>> I also think tokend is assuming there are no other smartcard drivers
>> running? With Windows that may not be the case. The detection code in OPenSC
>> might have some impact on a card in a reader that is not being controlled
>> by OpenSC if you allow it to still detect readers.
>
> By recommendations, a Tokend is supposed to lock the card to prevent other 
> applications from accessing it (and Apple provides a PKCS#11 interface on top 
> of Tokend as well, and there a "tokend for PKCS#11 drivers" which is in turn 
> also available through the Apple PKCS#11 module....)
>
>
>

-- 

  Douglas E. Engert  <deeng...@anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to