Sorry but there is no sample code. It’s a RDP client that connects to a Windows 
server (with Smart card redirection enabled). In the RDP session I use the 
Internet Explorer to Access to HTTPS page with user authentication.

 

 

De: Pcsclite-muscle 
[mailto:pcsclite-muscle-bounces+amacias=solutia-it...@lists.alioth.debian.org] 
En nombre de Ludovic Rousseau
Enviado el: viernes, 23 de septiembre de 2016 11:23
Para: Talks about MUSCLE <[email protected]>
Asunto: Re: [Pcsclite-muscle] Difference with Windows (maybe a bug)

 

2016-09-23 11:03 GMT+02:00 Abraham Macias Paredes <[email protected] 
<mailto:[email protected]> >:

Hi PCSC lite Project people,

 

Hello,
 

I’m developing a software that must work in Windows and Linux. And I found a 
difference between Windows PCSC API and “pcsc-lite” that may be a bug.

 

The software has several threads. In a thread a “SCardGetStatusChange” is 
performed and it locks until there is a change in the status.

When another thread performs a “SCardConnect”, in Windows the 
“SCardGetStatusChange” call returns with the “SCARD_STATE_INUSE”  flag 
activated. But in Linux the thread continues locked at “SCardGetStatusChange”. 

 

Windows trace:

 

Thread 1: SmartCard SCardGetStatusChange(context: CD00000100000000, timeout: 
ffffffff)

Thread 1:  atr = 3b 7f ffffff96 0 0 0 6a 46 4e 4d 54 3 4 11 43 4 30 3 ffffff90 
0 

Thread 1:  [0]   Dell Smart Card Reader Keyboard 0

Thread 1:         user: null, state: 0xb0420, event: 0xb0422

Thread 2: SmartCard SCardConnect(context: CD00000100000001, share: 2, proto: 3, 
reader: 'Dell Smart Card Reader Keyboard 0')

Thread 1:  -> [0]  Dell Smart Card Reader Keyboard 0

Thread 1:  ->       user: null, state: 0xb0420, event: 0xb0122

 

 

Thread 2: SmartCard Connect successful: 1 hCard: EA00000100000000

 

Linux trace:

 

Thread 1: SmartCard SCardGetStatusChange(context: CD00000100000000, timeout: 
ffffffff)

Thread 1:  atr = 3b 7f ffffff96 0 0 0 6a 46 4e 4d 54 3 4 11 43 4 30 3 ffffff90 
0 

Thread 1:  [0]   Dell Smart Card Reader Keyboard 0

Thread 1:         user: null, state: 0x20, event: 0x22

Thread 2:  SmartCard SCardConnect(context: CD00000100000001, share: 2, proto: 
3, reader: 'Dell Smart Card Reader Keyboard 0')

Thread 2:  SmartCard Connect successful: 1 hCard: EA00000100000000

 

If I use another thread to perform another “SCardGetStatusChange”, the status 
shows the “SCARD_STATE_INUSE” flag activated, but the first thread is still 
locked.

 

Can you share your sample code with us?

Thanks



-- 

 Dr. Ludovic Rousseau

_______________________________________________
Pcsclite-muscle mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pcsclite-muscle

Reply via email to