写卡 RC/CC/DS 错误原因分析
数据统揽
序号 | 数据类型 | 原始 | 目标 |
---|---|---|---|
1 | 码号 | 1440421050019 | 1440421050033 |
2 | iccid | 898604421918F0253000 | 898604421918F0253001 |
3 | kic | 639c7cf18b390571 | 644bb250f9c200bc |
将 1440421050019 写成 1440421050033
收到返回的错误短信内容:
02710000140EB000B0FBA083B3F64A3F0A0154C91F908ED28D
错误短信加工过程
解密原文:FBA083B3F64A3F0A0154C91F908ED28D
1440421050019 对应的 kic 解密失败
解密后内容:73A07988AFD51A7D3C4ED693EB980380(无法解析)
1440421050033 对应的 kic 解密成功
解密后内容:081C29927C0401DCC75388FF80000000
得到失败原因:01-RC/CC/DS 错误,即 MAC 校验错误
原因分析
1440421050019 作为当前存在卡中的数据,其 kic 等数据应该是 1440421050019 对应的,其返回的短信内容应该可以被 1440421050019 对应的 kic 解析,但是实际情况是不能。
1440421050033 做为将要写入的数据,其对应的 kic 应该和卡中对应的不同,但实际情况是相同。
综合判断,应该是数据库中的 kic 和码号的对应关系和卡中的出现了相悖的情况。
处理方式
调整 kic 和码号的对应关系,再下发写卡指令就可以了。