Olivier LAHAYE wrote:
> I've finaly found my problem. thanks to Karsten Ohme who suggested me to
> trace
> APDU using pcscd -f -a -d, I saw that the "format 1" command returned "6A
> 82".
Great!
> Then using google, I was able to find that the applet may not be proprerly
> installed. Indeed it wasn't! After step 3 below, I forgot to "Install" the
> loaded applet and tryed directly a format (and obviously without any
> success). [The applet was loaded, but not installed]
>
> Would it be interresting to add some code to muscleTool.c around line 597?
> I mean is it the correct place to do so?
> if rv == 0x6A82 (OPGP_ISO7816_ERROR_FILE_NOT_FOUND) then display an
> appropriate message like "Is your applet correctly installed?"?
>
> if (rv != MSC_SUCCESS)
> {
> free(pConnection);
> pConnection = 0;
> printf("ERR: EstablishConnection Failed !\n");
> printf("Is your card already formated?\n");
> goto end;
> }
>
> My knowledge about smartcard is realy low, and maybe my suggestion is stupid,
> thus I do not propose patch as I see that OPGP_ISO7816_ERROR_FILE_NOT_FOUND
> is defined into GlobalPlatform.h and muscleTool is not linked with
> GlobalPlatform.
>
> Finaly,
> As I understand, in order to use my CyberFlex 64K, I need to do
> - load applet
> - install applet!!!
> - format card
> I've used CFlexAccess32. What would have been the gpshell equivalent?
You can do every single step on its own, but there is the -install
argument, which does everything in one step.
> (especialy the install step).
>
> As my card are 64K models (not 32K), is there a way to have more room to work
> with? (I would be not cool to use a 64K model just like a 32K model leaving
> 32K unused/unavailable ;-) )
>
> I mean: how do I determine optimum parameter for the install phase and the
> setup phase?
During the -install process you must give a parameter
nonVolatileDataSpaceLimit. This parameter defines how much memory can be
consumed by the allocated memory, data structures etc. of the applet
(NOT the applet code size, for this there is another switch, which
should be automatically detected.) The card should not allow to use more
memory then specified. Some memory is consumed for same objects, lets
say 2 or 3 kb, depends on the compiled in features of the applet and the
amount of memory which is given during the format with muscletools, so
you can try to use more memory and specify there 20 kb or even more and
let the card use 15 kb memory at the muscleTool format command.
But the label 64k is not the whole truth, this is not the space actually
available, already installed application consume space. There are some
cards with a proprietary GET DATA tag, which can return the space available.
Karsten
>
> Anyway, I wish big thanks to all of you who had helped me by giving advices
> and tips. I still have problems (identified) with my GemXpresso211PKIS and
> its weakened auth security mechanism not yet supported, but I I'm definitely
> not blocked anymore as I can use my cyberflex.
>
> My smartcard knowledge and understanding is far to low for me to contribute
> with patches, but I'll try to publish all Mandriva RPMS specs files I've made
> so most of stuffs I use could be installed easily.
>
>
>>Here is what I've done so far:
>>
>>1) inserted the card and read the ATR using pcsc_scan.
>>the ATR is "3B 95 95 40 FF AE 01 03 00 00"
>>
>>2) I've inserted the ATR in the /usr/share/pcsc/smartcard_list.txt
>>and checked that now, pcsc_scan recognize it.
>>
>>3) I loaded the CardEdge.bin applet to the card using
>>CFlexAccess32Loader/load.sh (it apparently succeeded).
>
>
> The missing action was here: needed to do a ./install.sh
> (and then format command was available (but I used ./setup.sh)
>
>
>>4) As root, I've run the /usr/sbin/bundleTool and selected the
>>mscMuscleCard.bundle
>>thus the file
>>/usr/lib/pcsc/services/mscMuscleCard.bundle/Contents/Info.plist has been
>>updated with <string>3B959540FFAE01030000</string> value. thus the end of
>>the file became:
>> <key>spAtrValue</key>
>> <string>3B959540FFAE01030000</string>
>> <string>3B8540206801010204</string>
>> <string>3B8540206801010204</string>
>> <string>3B751300009C02020102</string>
>> <string>3B6500009C02020102</string>
>> <string>3B3B94008065AF030D0174830F9000</string>
>> <string>3F6D000080318065B00501025E83009000</string>
>> <key>spDefaultApplication</key>
>> <string>A00000000101</string>
>>
>>5) As normal user I started muscleTool
>>
>>6) I typed "tokens" and saw: "1. MuscleCard Applet"
>>
>>7) I typed "connect 1" which failed as expected as the card is not
>>formatted.
>>
>>8) I typed "format 1" and it failed with the following error:
>>muscleTool > format 1
>>ERR: EstablishConnection Failed ! (0x9C52 Token is unsupported)
>>
>
>
> --
> Olivier LAHAYE
> Motorola Labs IT Manager
> Computer & Information Systems
> European Communications Research
> _______________________________________________
> Muscle mailing list
> [email protected]
> http://lists.drizzle.com/mailman/listinfo/muscle
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle