无法生成正确的应用程序密码

时间:2015-07-24 12:26:20

标签: smartcard apdu emv

我成功获得了Generate Command响应

[9F02 06   (Amount, authorized, numeric)]:   000000003000 
[9F03 06   (Amount, other, numeric)]:        000000000000 
[9F1A 02   (Terminal country code)]:         0826 
[95 05     (Terminal verification results)]: 0000000000
[5F2A 02   (Transaction currency code)]:     0826 
[9A 03     (Transaction date)]:              150724 (2015-05-28)
[9C 01     (Transaction type)]:              00 
[9F37 04   (Unpredictable number)]:          12345678

命令是

80 AE 4000 1D 000000003000 000000000000 0826 0000000000 0826 150724 00 12345678 00

成功回应

8012800008d2715ae1b83027db06020103a0b0009000

Cryptogram Information Data : 00
Application Transaction Counter : 0008
Application Cryptogram : d2715ae1b83027db
Issuer Application Data : 06020103a0b000

一切都很好,但每当我在测试环境中执行交易时,我都会

  

应用程序密码错误。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:2)

首先在您的数据样本"交易日期"打包的YYMMDD格式与人类可读格式(YYYY-MM-DD)中的值不同。日期不同。

如果您发送了与此ARQC无关的错误交易数据或交易数据,您将无法在主机环境中验证密码。

  

由于在Amex测试用例中使用了金额30.00,因此检测到了卡片   as" AEIPS 20 TEST CARD"来自Amex Global set。

     

使用"交易数据重新计算ARQC"给了我同样的   卡片响应中的值 - 0x9F26 =" d2715ae1b83027db"。所以,它是   确认。

     

在这种情况下ARPC将是" 3784BAE0B266DF17"。

认证测试环境或Amex测试系统(ATS)本身可以为您提供ARQC / ARPC重新计算详细信息。当然,测试环境可以验证您的卡品牌。

通常在财务消息和交易数据中发布,其中开发人员错误地打包以进行外部测试主机验证。 (与原始请求一样。)

从卡片,终端到主机系统全程跟踪交易情况,您将获得数据错位的位置。