Ok, I agree since nobody seems to complain . So I will try this in the nest release
Thanks, François. Martin Paljak a écrit : > Hi. > > Correct, this is a bug. I've never used GLP PINs and apparently no one > else tried them either until now. > > Fixed in [3664] > > Thanks, > Martin > > On 11.03.2009, at 20:45, Alon Bar-Lev wrote: > >> Great work! >> Can someone confirm current hardware still works? >> I never had PINPAD reader to play with. >> >> Alon. >> >> On Wed, Mar 11, 2009 at 11:13 AM, Fleblanc >> <francois.lebl...@cev-sa.com> wrote: >>> >>> Hi there, >>> >>> I can confirm now, it's an issue (see below), it must be >>> >>> tmp |= 0x08 << 3; >>> >>> since the pin code start 8 bits after lc ... >>> >>> The same apply for 'part10_build_modify_pin_block' >>> >>> line 1164, must be tmp |= 0x04 << 3; >>> >>> and line 1189 must be >>> >>> pin_modify->bInsertionOffsetNew = 0x08; /* bOffsetNew */ >>> >>> pin_modify->bInsertionOffsetNew = 0x00; /* bOffsetNew */ >>> >>> Perhaps bInsertionOffsetNew = 0x08 only for SC_PIN_ENCODING_GLP ... >>> >>> Regards >>> >>> François Leblanc. >>> >>> >>> >>> Fleblanc a écrit : >>>> >>>> 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 >>>> >>> >>> --- reader-pcsc.c 2009-02-01 09:28:52.000000000 +0100 >>> +++ new_reader-pcsc.c 2009-03-11 10:03:18.000000000 +0100 >>> @@ -1070,7 +1070,7 @@ >>> } 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; >>> + tmp |= 0x08 << 3; >>> } else >>> return SC_ERROR_NOT_SUPPORTED; >>> >>> @@ -1161,7 +1161,7 @@ >>> } 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; >>> + tmp |= 0x08 << 3; >>> } else >>> return SC_ERROR_NOT_SUPPORTED; >>> >>> @@ -1185,9 +1185,15 @@ >>> } >>> pin_modify->bmPINLengthFormat = tmp; /* bmPINLengthFormat */ >>> >>> - pin_modify->bInsertionOffsetOld = 0x00; /* bOffsetOld */ >>> - pin_modify->bInsertionOffsetNew = 0x00; /* bOffsetNew */ >>> - >>> + if (data->pin1.encoding == SC_PIN_ENCODING_GLP) { >>> + pin_modify->bInsertionOffsetOld = 0x00; /* >>> bOffsetOld */ >>> + pin_modify->bInsertionOffsetNew = 0x08; /* >>> bOffsetNew */ >>> + } >>> + else { >>> + pin_modify->bInsertionOffsetOld = 0x00; /* >>> bOffsetOld */ >>> + pin_modify->bInsertionOffsetNew = 0x00; /* >>> bOffsetNew */ >>> + } >>> + >>> if (!data->pin1.min_length || !data->pin1.max_length) >>> return SC_ERROR_INVALID_ARGUMENTS; >>> >>> >>> _______________________________________________ >>> 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