java 卡 开发_Java卡应用开发其实并不难(4)

Java卡应用开发其实并不难(4)

第一个Java卡应用的调试

在完成调试配置之后,可以选择“RUN”,这样Jcop shell就会产生如下的调试信息。

-/term "Remote|localhost:4229"

--Opening terminal

>/card -a a000000003000000 -c com.ibm.jc.CardManager

resetCard with timeout: 0 (ms)

--Waiting for card...

ATR=3B FA 13 00 00 81 31 FE 45 4A 43 4F 50 34 31 56;.....1.EJCOP41V

32 32 31 96221.

ATR: T=1, FI=1/DI=3 (93clk/etu), N=0, IFSC=254, BWI=4/CWI=5, Hist="JCOP41V221"

=> 00 A4 04 00 08 A0 00 00 00 03 00 00 00 00..............

(911848 nsec)

<= 6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65o..............e

01 FF 90 00....

Status: No Error

cm>set-key 255/1/DES-ECB/404142434445464748494a4b4c4d4e4f 255/2/DES-ECB/404142434445464748494a4b4c4d4e4f 255/3/DES-ECB/404142434445464748494a4b4c4d4e4f

cm>init-update 255

=> 80 50 00 00 08 D3 08 AF 4A 31 95 39 2F 00 .P......J1.9/.

(1621 usec)

<= 00 00 57 F3 97 D9 7F 72 88 55 FF 02 00 00 3D 02..W....r.U....=.

9C 31 C7 89 98 CD 8C C6 68 87 61 A8 90 00.1......h.a...

Status: No Error

cm>ext-auth plain

=> 84 82 00 00 10 16 F5 C8 3C 4E 9B 72 A0 84 D2 01........

66 9B E1 25 47f..%G

(1381 usec)

<= 90 00..

Status: No Error

cm>delete a00000000901

=> 80 E4 00 00 08 4F 06 A0 00 00 00 09 01 00.....O........

(611251 nsec)

<= 6A 88j.

Status: Reference data not found

jcshell: Error code: 6a88 (Reference data not found)

jcshell: Wrong response APDU: 6A88

Ignoring expected error

cm>delete a0000000090102

=> 80 E4 00 00 09 4F 07 A0 00 00 00 09 01 02 00.....O.........

(684724 nsec)

<= 6A 88j.

Status: Reference data not found

jcshell: Error code: 6a88 (Reference data not found)

jcshell: Wrong response APDU: 6A88

Ignoring expected error

cm>upload -b 250 "D:\Eclipse_32 Work Place\testproject\bin\testpackage\javacard\testpackage.cap"

=> 80 E6 02 00 14 07 A0 00 00 00 09 01 02 08 A0 00................

00 00 03 00 00 00 00 00 00 00..........

(1537 usec)

<= 00 90 00...

Status: No Error

=> 80 E8 80 00 EF C4 81 EC 01 00 1D DE CA FF ED 02................

02 04 00 01 07 A0 00 00 00 09 01 02 0B 74 65 73.............tes

74 70 61 63 6B 61 67 65 02 00 21 00 1D 00 21 00tpackage..!...!.

0A 00 0B 00 1E 00 0E 00 3D 00 0A 00 0B 00 00 00........=.......

4D 01 BB 00 00 00 00 00 00 01 01 00 04 00 0B 01M...............

02 01 07 A0 00 00 00 62 01 01 03 00 0A 01 06 A0.......b........

00 00 00 09 01 00 08 06 00 0E 00 00 00 80 03 00................

FF 00 07 01 00 00 00 1C 07 00 3D 00 01 10 18 8C..........=.....

00 01 7A 05 30 8F 00 04 3D 8C 00 05 18 1D 04 41..z.0...=......A

18 1D 25 8B 00 03 7A 02 21 18 8B 00 02 60 03 7A..%...z.!....`.z

19 8B 00 00 2D 1A 04 25 73 00 09 00 00 00 00 00....-..%s.......

0F 11 6D 00 8D 00 06 7A 08 00 0A 00 00 00 00 00..m....z........

00 00 00 00 00 05 00 1E 00 07 03 80 0A 01 06 80................

03 00 03 80 03 03 03 80 03 02 01 00 02 00 06 00................

00 01 06 80 07 01 09 00 0B 00 00 00 07 05 06 04................

0A 07 07 13 00.....

(9501 usec)

<= 00 90 00...

Status: No Error

Load report:

239 bytes loaded in 0.0 seconds

effective code size on card:

+ package AID7

+ applet AIDs13

+ classes17

+ methods64

+ statics0

+ exports0

------------------------------

overall101bytes

cm>install -i a00000000901-q C9#() a0000000090102 a00000000901

=> 80 E6 0C 00 1C 07 A0 00 00 00 09 01 02 06 A0 00................

00 00 09 01 06 A0 00 00 00 09 01 01 00 02 C9 00................

00 00..

(2800 usec)

<= 90 00..

Status: No Error

cm>card-info

=> 80 F2 80 00 02 4F 00 00.....O..

(591416 nsec)

<= 08 A0 00 00 00 03 00 00 00 01 9E 90 00.............

Status: No Error

=> 80 F2 40 00 02 4F 00 00..@..O..

(670755 nsec)

<= 06 A0 00 00 00 09 01 07 00 90 00...........

Status: No Error

=> 80 F2 10 00 02 4F 00 00.....O..

(1032 usec)

<= 07 A0 00 00 00 03 53 50 01 00 01 08 A0 00 00 00......SP........

03 53 50 41 07 A0 00 00 00 09 01 02 01 00 01 06.SPA............

A0 00 00 00 09 01 90 00........

Status: No Error

Card Manager AID:A000000003000000

Card Manager state :OP_READY

Application:SELECTABLE (--------) A00000000901

Load File:LOADED (--------) A0000000035350(Security Domain)

Module:A000000003535041

Load File:LOADED (--------) A0000000090102

Module:A00000000901

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
javacard applet 开发实例 正常运行 带jar包 package mifare; import com.ibm.jz.JZSystem; import javacard.framework.APDU; import javacard.framework.Applet; import javacard.framework.ISO7816; import javacard.framework.ISOException; import javacard.framework.Util; public class AmbiqApplet extends Applet { byte[] mifarePassDefault={(byte)0x0b,(byte)0x54,(byte)0x57,(byte)0x07,(byte)0x45,(byte)0xfe,(byte)0x3a,(byte)0xe7}; byte[] mifarePass8={(byte)0x0b,(byte)0x54,(byte)0x57,(byte)0x07,(byte)0x45,(byte)0xfe,(byte)0x3a,(byte)0xe7}; byte[] mifarePass9={(byte)0x0b,(byte)0x54,(byte)0x57,(byte)0x07,(byte)0x45,(byte)0xfe,(byte)0x3a,(byte)0xe7}; byte[] adminPass={(byte)0x40,(byte)0x41,(byte)0x42,(byte)0x43,(byte)0x44,(byte)0x45,(byte)0x46,(byte)0x47,(byte)0x48,(byte)0x49,(byte)0x4a,(byte)0x4b,(byte)0x4c,(byte)0x4d,(byte)0x4e,(byte)0x4f}; public static void install(byte[] bArray, short bOffset, byte bLength) { // GP-compliant JavaCard applet registration new AmbiqApplet().register(bArray, (short) (bOffset + 1), bArray[bOffset]); } public void process(APDU apdu) { short i; byte[] send=new byte[52]; byte[] send2=new byte[24]; // Good practice: Return 9000 on SELECT if (selectingApplet()) { return; } byte[] buf = apdu.getBuffer(); if(buf[ISO7816.OFFSET_CLA]==AmbiqConstant.CLS_AMBIQ) { switch (buf[ISO7816.OFFSET_INS]) { case AmbiqConstant.INS_GET_MIFARE: if(buf[ISO7816.OFFSET_P1]!=0 || buf[ISO7816.OFFSET_P2]!=0) { ISOException.throwIt(ISO7816.SW_INCORRECT_P1P2); return; } /*Get Entire Mifare Ticket data * Returns back the content of the entire sector 8 (3 block 8.0, 8.1, 8.2) and the first 4 bytes of block 9.0; total 52bytes. Filed Length (in bytes) Data Comments CLA 1 0x80 Fixed class for the applet INS 1 0x20 Read entire data P1 1 0x00 Sector number P2 1

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值