首页 文章

如何发送包含返回数据的响应APDU和0x9000以外的状态字?

提问于
浏览
5

我想发送一个包含响应数据字段的响应APDU以及一个不是0x9000的状态字 . 考虑到我对ISO 7816-4的理解,这应该是可能的 .

但是,每当我指定返回数据并尝试发送它时,我都没有看到任何明确设置0x9000以外的状态字的可能性 .

相反,我可以显式设置任意状态字并将它们作为ISOException发送,但不能附加返回数据 .

这种行为适用于错误,即状态字0x64XX - 0x69XX但是0x63XX是什么?应该可以发送警告并仍然传达返回数据 .

那么是否可以发送包含返回数据和0x9000以外的状态字的响应APDU,我该怎么做?

1 回答

  • 6

    只需确保在抛出异常之前发送数据 . 你当然可能想要记住你要扔到最后的状态字 . 然后,您只需使用 ISOException.throwIt(short sw) 来创建状态字 .

    请注意 - 如您所示 - 如果您的状态字指示 9000 或警告(即 62xx 范围内的 63xx ),则只应返回数据 . 返回数据和指示错误的状态字是对ISO 7816-4的错误解释 .

    我同意抛出异常以产生警告感觉不对,但这就是目前的情况 .

相关问题