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 ?

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....)



-- 
@MartinPaljak.net
+3725156495

_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to