2013-07-02 17 views
1

我是新來的java卡development.i有jcop 31(36k)卡和scl010 reader.i已安裝eclipse的jcop插件。當我運行我的helloworld java小程序simulater(使用jcop外殼)它工程fine.now我想上傳.cap文件到我的card.i認爲方式是上傳.cap文件到卡中運行applet在讀者(我不知道這是我附加過程中的最佳方式我跟着)。當我加載帽文件它給出了這個錯誤java卡上傳錯誤

**upload -b 250 "C:\Projects\Javacard\MytestThree\bin\hms\javacard\testthree\javacard\testthree.cap" 
=> 80 E6 02 00 15 08 6D 79 61 70 70 6C 65 74 08 A0 ......myapplet.. 
    00 00 00 03 00 00 00 00 00 00 00     ........... 
(26209 usec) 
<= 00 90 00           ... 
Status: No Error 
=> 80 E8 00 00 FA C4 82 01 65 01 00 29 DE CA FF ED ........e..).... 
    02 02 04 00 01 08 6D 79 61 70 70 6C 65 74 16 68 ......myapplet.h 
    6D 73 2F 6A 61 76 61 63 61 72 64 2F 74 65 73 74 ms/javacard/test 
    74 68 72 65 65 02 00 21 00 29 00 21 00 10 00 0B three..!.).!.... 
    00 2E 00 0E 00 7F 00 18 00 12 00 00 00 71 02 F0 .............q.. 
    00 02 00 01 00 0B 01 01 00 04 00 0B 01 02 01 07 ................ 
    A0 00 00 00 62 01 01 03 00 10 01 0C 6D 79 61 70 ....b.......myap 
    70 6C 65 74 2E 61 70 70 00 08 06 00 0E 00 00 00 plet.app........ 
    80 03 00 FF 00 07 01 00 00 00 1C 07 00 7F 00 01 ................ 
    10 18 8C 00 03 7A 05 30 8F 00 09 3D 8C 00 06 18 .....z.0...=.... 
    1D 04 41 18 1D 25 8B 00 02 7A 02 23 18 8B 00 01 ..A..%...z.#.... 
    60 03 7A 19 8B 00 05 2D 1A 03 25 11 00 FF 53 5B `.z....-..%...S[ 
    32 1A 04 25 11 00 FF 53 5B 29 04 1F 10 80 6A 08 2..%...S[)....j. 
    11 6E 00 8D 00 00 16 04 73 00 10 FF 80 FF 80 00 .n......s....... 
    09 18 19 8C 00 07 70 08 11 6D 00 8D 00 00 7A 05 ......p..m....z. 
    22 19 8B 00 05 2D 7B 00 0A 92 32 7B 00 0A 03 00 "....-{...2{.... 
(779869 usec) 
<= 6A 80            j. 
Status: Wrong data 
jcshell: Error code: 6a80 (Wrong data) 
jcshell: Wrong response APDU: 6A80 
Unexpected error; aborting execution** 

任何人都可以告訴我什麼是錯誤的,這有助於給我一些參考!

+0

與http://stackoverflow.com/q/17400053/27190不一樣嗎? – martijno

+0

@martijno哎呀,已經關閉並標記了它,但事實並非如此。其他狀態字在另一時間。雖然大約在同一時間類似的標題奇怪的事實。 –

回答

0

改爲使用-b 230-b 250可以工作,如果全球平臺渠道是完全平淡的,但如果它包含一個8字節的MAC通過命令數據,那麼你會得到一個總的命令數據大小爲250 + 8 = 258,這是超過最多支持的255個字節。

請注意6A80錯誤的數據可能意味着很多事情。例如,如果您已針對錯誤的目標平臺編譯/轉換,則可以獲得相同的消息。 ISO 7816-4地位詞在這方面並不是很有幫助。它們可能會顯示一些語法錯誤,但通常語義錯誤也會成爲這些語法錯誤的絆腳石。

+0

謝謝owlstead.i嘗試使用-b 230.it在安裝應用程序到java卡時給出同樣的錯誤。我不知道爲什麼上傳後他們發送其他字節數組以80開始E8 00 00 ..... – Need

+0

要理解上傳過程,請查看公開下載的全球平臺規範中的'LOAD'命令。請注意,您需要準確找出你的卡支持什麼。如果你的卡是針對Java Card 2.2.1編譯的,而且卡支持2.2.2,那麼它可能已經觸發了這個問題。如果您不遵守爲Java Card設置的限制(例如,訪問靜態字節數組),也是如此。 –

+0

Thanks.my卡是jcop 31.it支持java卡2.2.1和gcs 2.1.1。 – Need