如何在0x6310状态之后从JavaCard获取更多数据



我正在尝试在Java卡上列出小程序/包。我使用以下APDU命令来获取列表:

80 F2 E0 00 02 4F 00 00

该命令返回状态字0x61xx,因此我为xx字节发送GET RESPONSE命令:

00 C0 00 xx

这为我提供了xx数据字节和状态字0x6310("更多可用数据")。我接下来应该发送什么来接收状态字指示的进一步数据?

APDU跟踪:

[SEND]80 F2 E0 00 02 4F 00 00[接收]61 F2[发送]00 C0 00 F2[REIVE]<F2字节的数据>63 10[发送]

看看您在问题中显示的命令/响应序列,以及您列出的小程序/包的事实,我认为这是关于GlobalPlatform卡管理的。

您正在使用的命令(INS=0xF2)是GET STATUS命令。P1=0xE0表示要列出颁发者安全域、应用程序(包括安全域)和可执行加载文件。P2=0x00表示您想要获得第一次或所有出现的情况(即您想要开始搜索)。

然后,您将获得0xF2数据字节作为对该命令的响应。GP卡规范定义了状态字"6310",表示有更多数据可用。因此,您需要重复GET STATUS命令,直到收到无错误("9000")状态字。要在"6310"警告条件后重复GET STATUS命令,您需要将P2更改为0x01,以指示您希望获得下一次出现的情况。因此,在收到状态字"6310"时,您将发出以下命令:

80 F2 E0 01 02 4F 00

最新更新