写卡 RC/CC/DS 错误原因分析

数据统揽

序号数据类型原始目标
1码号14404210500191440421050033
2iccid898604421918F0253000898604421918F0253001
3kic639c7cf18b390571644bb250f9c200bc

将 1440421050019 写成 1440421050033

收到返回的错误短信内容:

02710000140EB000B0FBA083B3F64A3F0A0154C91F908ED28D

错误短信加工过程

解密原文:FBA083B3F64A3F0A0154C91F908ED28D
1440421050019 对应的 kic 解密失败
解密后内容:73A07988AFD51A7D3C4ED693EB980380(无法解析)
1440421050033 对应的 kic 解密成功
解密后内容:081C29927C0401DCC75388FF80000000
得到失败原因:01-RC/CC/DS 错误,即 MAC 校验错误

原因分析

1440421050019 作为当前存在卡中的数据,其 kic 等数据应该是 1440421050019 对应的,其返回的短信内容应该可以被 1440421050019 对应的 kic 解析,但是实际情况是不能。
1440421050033 做为将要写入的数据,其对应的 kic 应该和卡中对应的不同,但实际情况是相同。
综合判断,应该是数据库中的 kic 和码号的对应关系和卡中的出现了相悖的情况。

处理方式

调整 kic 和码号的对应关系,再下发写卡指令就可以了。