[Muscle] Re: Problem generating Muscle Card Applet 0.9.11
Karsten Ohme
widerstand at t-online.de
Tue Feb 19 17:12:06 PST 2008
Amanda Ortega schrieb:
> I installed the gcc compiler and I could generated the .cap file
> successfully. Thank you for the help!
Great.
> But now, when I try to install the
> file into the card using GPShell, this error is showed:
Not so great.
>
>> GPShell.exe cardEdgeInstall.txt
> mode_201
> gemXpressoPro
> enable_trace
> establish_context
> card_connect
> * reader name Gemplus USB Smart Card Reader 0
> select -AID A000000018434D00
> --> 00A4040008A000000018434D00
> <-- 6F198408A000000018434D00A50D9F6E061291334903029F6501FF9000
> open_sc -security 3 -keyind 0 -keyver 0 -key
> 47454d5850524553534f53414d504c45 //
> Open secure channel
> --> 80CA9F7F00
> <--
> 9F7F2A409066221291334903024082B8061906256D4082614412936144000000000000000000
> 000000000000009000
> --> 8050000008A7CDE6352467F9C000
> <-- 4D004082B8061906256DFF01DAF39C173046ADAC651CD5D3B367CED39000
> --> 8482030010F07A1A47881214477BE3039048546C50
> <-- 9000
> delete -AID a00000000101
> --> 80E40000084F06A0000000010100
> <-- 6A88
> delete_applet() returns 0x80206A88 (6A88: Referenced data not found.)
> delete -AID a000000001
> --> 80E40000074F05A00000000100
> <-- 6A88
> delete_applet() returns 0x80206A88 (6A88: Referenced data not found.)
> delete -AID a00000000101
> --> 80E40000084F06A0000000010100
> <-- 6A88
> delete_applet() returns 0x80206A88 (6A88: Referenced data not found.)
> install -file CardEdge.cap -sdAID A000000018434D00 -nvCodeLimit 4000
> file name CardEdge.cap
> --> 80E602001906A0000003230108A000000018434D000006EF04C6020FB00000
> <-- 009000
> -->
> 80E80000EFC4822F6D010010DECAFFED010204090006A0000003230102001F0010001F000B00
> 290256006C21AE000A03F30000067F00060000000004010004002904020107A00000006201010201
> 07A0000000620102020107A0000000620201000107A000000062000103000B0107A0000003230101
> 009006006C00800313000C0404000500D1FFFF00B400ED05E9060706270647067100830002000101
> 1100001CE41D5C1D831E3C1E491E6C1EA71EB11EB91EC21EC91ED61EE11EEC1EF51F061F17008300
> 030001010D00001F331F8B1FAD1FF620062016203720EB20FF21112120212E21920721AE00064018
> 8C002C180388
> <-- 6985
> load_applet() returns 0x80206985 (6985: Command not allowed - Conditions of
> use
> not satisfied.)
>
> What is this?
Well, load applet fails. When load is executed the binary compiled
classes are transfered to the card and the card analyzes if the content
is meaningful or not. maybe it checks if the data can be accepted. The
uses Java Card version can be wrong. Try to use the ant Custom. Use Java
Card 2.1.1. Download it.
Adjust the Custom.properties file:
JAVA_BUILD_HOME=${basedir}/../jdk1.3.0_05
JC_HOME=${basedir}/../jc22
CARD_NAME=Custom
API_JAR=${JC_HOME}/lib/api.jar
API_EXPORT_FILES=${JC_HOME}/api_export_files
See where jc22 is mentioned, there must be the path to version 2.1.1.
The JDK could be OK.
Then adjust the capabilities of the card in the CustomsCap...
I don't know what the card supports. Find it out. I's sure that gemalto
is a very supportive company and will tell you what algorithms are
supported on the card.
You can try to be conservative. Enable only RSA and encryption:
-DWITH_RSA -DWITH_ENCRYPT
>
> JCOP is the name of a card's operating system, rigth? My card is GemXpresso
> and its operating system is JCOP. Am I rigth?
No. You simply have a GemXpresso. I don't think that now Gemalto and
Phillips with JCOP has something in common. They are just friends like
all competitive companies.
Regards,
Karsten
>
> Thank you.
> Amanda
>
> 2008/2/17, Karsten Ohme <widerstand at t-online.de>:
>> Martin Buechler schrieb:
>>> > Do you have the command cpp? Install a gcc compiler. For Windows you
>>> can use Cygwin and install gcc. See the README. If this is not the
>>> error, we have to look at it again.
>>>
>>> Pretty weird to use a part of a c compiler for just a java build. You
>>> know ant's filter task?
>>>
>>> http://ant.apache.org/manual/CoreTasks/filter.html
>> Not powerful enough. The parser must be able to parse C preprocessor
>> directives, e.g. something like #if defined(WITH_RSA) &&
>> defined(WITH_DSA) then the code for RSA and DSA should be included. THis
>> is necessary to save code on the JavaCard. 32k or 64k are not enough to
>> build a applet with all possible features, which may be not supported by
>> the card. I have written a parser in JavaCC which can also do this, but
>> it has to be integrated in an ant task or as an ant task.
>>
>> Regards,
>> Karsten
>>
>>> Regards
>>>
>>> Martin
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Muscle mailing list
>>> Muscle at lists.musclecard.com
>>> http://lists.drizzle.com/mailman/listinfo/muscle
>> _______________________________________________
>> Muscle mailing list
>> Muscle at lists.musclecard.com
>> http://lists.drizzle.com/mailman/listinfo/muscle
>>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Muscle mailing list
> Muscle at lists.musclecard.com
> http://lists.drizzle.com/mailman/listinfo/muscle
More information about the Muscle
mailing list