After testing I'm happy with SCardControl it's work fine now, but I have 
possibly an another

issue in  "reader-pcsc.c"  in "part10_build_verify_pin_block" function 
in line 1073, the code is

    } else if (data->pin1.encoding == SC_PIN_ENCODING_GLP) {
        /* see comment about GLP pins in sec.c */
        tmp |= SC_CCID_PIN_ENCODING_BCD;
        tmp |= 0x04 << 3;
    } else
        return SC_ERROR_NOT_SUPPORTED;

in order to set 'bmFormatString'  of PIN_VERIFY_STRUCTURE this field is 
defined in

http://www.usb.org/developers/devclass_docs/DWG_Smart-Card_CCID_Rev110.pdf

and Bit 6 – 3 Define the PIN position after format in the APDU command 
(relative to the first data after Lc).
The position is based on the system units’ type indicator (maximum1111 
for fifteen system units).

So for SC_PIN_ENCODING_GLP you get tthe value:

 0x04 << 3  | SC_CCID_PIN_ENCODING_BCD = 0x21

and I think it should be 0x41 because the pin position after lc is 8 bits

ex: pin GPL 5432 is  24:54:32:FF:FF:FF:FF:FF

apdu to verify will be:

00 20 00 00 08 24 54 32 FF FF FF FF FF

so pin start at lc + 8 bits...

This, the code should be:

 tmp |= 0x08 << 3;

Of course I've a reader that work with bmFormatString = 0x41 and not 
with bmFormatString = 0x21

but it maybe an error on the firmware of this reader, I have only one 
king of reader for testing ...

What do you think about this?

Regards

François Leblanc.


Fleblanc a écrit :
> Thank you , I will try it ...
>
> François Leblanc.
>
> Alon Bar-Lev a écrit :
>   
>> Thank you, fixed in r3662.
>> And build-004 was released with this fix.
>>
>> Alon.
>>
>> On Wed, Feb 25, 2009 at 11:27 AM, Fleblanc <francois.lebl...@cev-sa.com> 
>> wrote:
>>   
>>     
>>> Opensc release 0.11.6
>>>
>>> Platform Windows XP
>>>
>>> Reader XIRING CCID with pinpad
>>>
>>>
>>> Two things:
>>>
>>> First when I connect this reader and other  PCSC readers when I use
>>> pkcs15-tool  I have the message "Card not present"
>>>
>>> In other word, the XIRING reader with pinpad must be alone to work...
>>>
>>> Second, I have absolutly no idea why but SCardControl fail with code 1 ...
>>>
>>> I have a look to the code all seems good but...
>>>
>>> I've tryed sample program and it's working fine but in opensc not, it's
>>> amazing:
>>>
>>> [westcos-tool.exe] reader-pcsc.c:565:pcsc_connect: Requesting reader
>>> features ...
>>> [westcos-tool.exe] reader-pcsc.c:618:pcsc_connect: SCardControl failed 1
>>>
>>> Does anyone have some problem too with pcsc on windows?
>>>
>>> Regards.
>>>
>>> _______________________________________________
>>> opensc-devel mailing list
>>> opensc-devel@lists.opensc-project.org
>>> http://www.opensc-project.org/mailman/listinfo/opensc-devel
>>>
>>>     
>>>       
>>   
>>     
> _______________________________________________
> opensc-devel mailing list
> opensc-devel@lists.opensc-project.org
> http://www.opensc-project.org/mailman/listinfo/opensc-devel
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to