SmartCard_入门

来源:互联网 发布:visio mac 官方中文版 编辑:程序博客网 时间:2024/06/05 01:02
package week4;import javacard.framework.APDU;import javacard.framework.Applet;import javacard.framework.ISO7816;import javacard.framework.ISOException;import javacard.framework.Util;public class week4 extends Applet {byte[] temp = {'h','e','l','l','o'};byte[] temp2 = {'h','i'};public static void install(byte[] bArray, short bOffset, byte bLength) {// GP-compliant JavaCard applet registrationnew week4().register(bArray, (short) (bOffset + 1), bArray[bOffset]);}public void process(APDU apdu) {// Good practice: Return 9000 on SELECTif (selectingApplet()) {return;}byte[] buf = apdu.getBuffer();switch (buf[ISO7816.OFFSET_INS]) {case (byte) 0x00:Util.arrayCopyNonAtomic(temp,(short)0, buf, (short)0, (short)temp.length);apdu.setOutgoingAndSend((short)0,  (short)temp.length);    break;case (byte) 0x01:Util.arrayCopyNonAtomic(temp2,(short)0, buf, (short)0, (short)temp2.length);apdu.setOutgoingAndSend((short)0,  (short)temp2.length);    break;    default:// good practice: If you don't know the INStruction, say so:ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);}}}cm>  /select 133541560006 => 00 A4 04 00 06 13 35 41 56 00 06 00                ......5AV... (492941 nsec) <= 90 00                                              ..Status: No Errorcm>  /send 0000010200 => 00 00 01 02 00                                     ..... (468888 nsec) <= 68 65 6C 6C 6F 90 00                               hello..Status: No Errorcm>  /send 0001010200 => 00 01 01 02 00                                     ..... (398010 nsec) <= 68 69 90 00                                        hi..Status: No Error

0 0
原创粉丝点击