微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法生成应用程序密码

如何解决无法生成应用程序密码

我正在尝试使用带有PN532芯片的RaspBerry Pi和智能手表模拟万事达卡非接触式交易。来自SFI2 R2的响应包含以下CDOL1数据:

9F02069F03069F1A0295055F2A029A039C019F37049F35019F45029F4C089F34039F1D089F15029F4E14

其翻译为:

TAG  LENGTH
9F02 06 
9F03 06
9F1A 02 
95   05 
5F2A 02 
9A   03 
9C   01 
9F37 04
9F35 01 
9F45 02 
9F4C 08
9F34 03 
9F1D 08 
9F15 02 
9F4E 14

我按照以下规范创建了“获取应用程序密码”命令:

  byte_t get_app_crypto[] = {
    0x80,0xAE,// CLA INS
    0x80,0x00,// P1 P2
    0x43,// length
    0x00,0x01,// amount
    0x00,// other amount
    0x06,0x42,// terminal country 
    0x00,// tvr terminal
    0x09,0x46,// currency code
    0x20,0x08,0x23,// transaction date
    0x00,// transaction type
    0x11,0x22,0x33,0x44,// UN
    0x22,// terminal type
    0x00,// data auth code
    0x00,// icc dynamic
    0x00,// cvm results
    0x00,// 8
    0x54,0x11,// 2 merchant category
    0x00,// 14 merchant name or location
    0x00,// LE
    };

但手表的响应始终为“ 6700”(长度错误)。

任何帮助将不胜感激。

解决方法

AFAIR,您的问题看起来像是已经解决了SO的问题。一般来说,搜索很好。

回到您的问题,您将9F4E长度解释为14位十进制,但它只是0x14。您只有六个字节。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。