【发布时间】:2020-09-19 13:06:41
【问题描述】:
我开发了一个安装在 J2A040 卡上的小程序,然后是一个客户端程序,它工作正常,但我想知道,如果有人拿了这张卡并使用命令 gp -l ,他可以看到小程序 AID ,可以禁止吗? 该人还可以键入命令 00 A4 04 00 00?能禁止这个命令吗?
public void process(APDU apdu) {
byte[] buffer = apdu.getBuffer();
// check SELECT APDU command
buffer[ISO7816.OFFSET_CLA]=(byte)(buffer[ISO7816.OFFSET_CLA]&(byte)0xFC);
if((buffer[ISO7816.OFFSET_CLA]==0)&&
(buffer[ISO7816.OFFSET_INS]==(byte)(0xA4))) return;
/* if (apdu.isISOInterindustryCLA()) {
if (buffer[ISO7816.OFFSET_INS] == (byte)(0xA4)) {
return;
} else {
ISOException.throwIt (ISO7816.SW_CLA_NOT_SUPPORTED);
}
}*/
if (buffer[ISO7816.OFFSET_CLA] != Wallet_CLA)
ISOException.throwIt(ISO7816.SW_CLA_NOT_SUPPORTED);
switch (buffer[ISO7816.OFFSET_INS]) {
case GET_BALANCE:
getBalance(apdu);
return;
case RESET_BALANCE:
resetBalance(apdu);
return;
case DEBIT:
debit(apdu);
return;
case CREDIT:
credit(apdu);
return;
case VERIFY:
verify(apdu);
return;
case CHANGE:
change(apdu);
return;
case VIEW_DATA:
viewdata(apdu);
case GET_CARD_STATUS:
processGetCardStatus(apdu);
return;
case SET_ATR_HISTORY:
processSetHistoryBytes(apdu);
return;
default:
ISOException.throwIt(ISO7816.SW_INS_NOT_SUPPORTED);
}
} // end of process method
感谢您的帮助
【问题讨论】:
标签: security applet javacard apdu globalplatform