【问题标题】:Doubts to understand C-APDU and R-APDU commands对理解 C-APDU 和 R-APDU 命令的疑问
【发布时间】:2017-05-18 20:23:55
【问题描述】:

这些天我开始研究 APDU 命令和响应的基本概念,我对 Lc 和数据轨道的使用及其含义有疑问。 例如,如果我编写如下命令: 00 A4 04 00 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00 我会说他的(如果我错了,请纠正我的情况)

  • CLA = 等于 00
  • INS = A4 即 SELECT
  • P1 = 04 他的第一个记录名称
  • 默认为 P2 = 00
  • Lc = 0E = 14 字节的确切长度
  • 数据 = 我的疑问在哪里
  • Le = 00 作为默认值,如果它等于另一个值,会发生什么?

我的疑问是理解 Lc(确切命令长度)、数据和 Le(最大响应长度)的明确含义,我怎么知道这个数据指令是什么意思?我应该把它变成文本吗?

【问题讨论】:

    标签: smartcard apdu smartcard-reader emv


    【解决方案1】:

    Lc = 0E 表示后面有 14 个字节的数据:

    31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 是您的数据(14 个字节)。当您将其解释为 ASCII 值时,您会得到字符串 1PAY.SYS.DDF01

    字段Le 表示预期响应的字节数(00 = 最大字节数)。

    【讨论】:

    • @Ito 你绝对应该选择这个作为接受的答案!
    【解决方案2】:

    6F 15 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 03 88 01 01 90 00 会被解析为

    6F 文件控制信息 (FCI) 模板 16 十六进制长度 84 专用文件 (DF) 名称 0E 十六进制长度 315041592E5359532E4444463031 =>1PAY.SYS.DDF01 A5 文件控制信息 (FCI) 专有模板 03 十六进制长度 88 短文件标识符 (SFI) 01 十六进制长度 01 90 00 成功运行

    简单地说,您可以使用this 来解析您的响应 TPDU :-)

    【讨论】:

    • @MichaelRoland 问题 CAPDU 的第一部分已经回答。我的是第二部分,如何将 R-APDU 解释为 - “在 R-APDU 我已经知道 SW1 和 SW2 负责显示进程状态,我不知道如何解释数据太像在 C-APDU 了。”如您在编辑历史记录中所见,在我回答后对问题进行了编辑。这就是用户接受答案的原因。
    • 问题中没有提到您(或多或少)为您的示例任意选择的 R-APDU(也没有在之前的任何修订版中)。
    • 插图使用例如。更容易理解。还是只适合我?
    • 您的“示例”说明了如何解释一种特定的共鸣格式。它甚至没有试图说明任意 R-APDU 的格式。因此,您的帖子似乎甚至没有尝试回答这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多