【技术实现步骤摘要】
一种测试智能卡的方法及读卡器
本专利技术涉及智能卡领域,特别涉及一种测试智能卡的方法及读卡器。
技术介绍
现有技术中,读卡器直接将预设的准备指令、防冲突指令和选择指令发送给非接智能卡,并且读卡器发送每条指令后均不向外部返回相应指令的应答结果,因此如果出现读卡器和非接智能卡通讯异常的情况,外部无法得知非接智能卡在哪个指令环节中出现问题。并且由于现有技术中的读卡器,对预设的准备指令、防冲突指令和选择指令的发送都有严格的时间控制,从而又增加了测试非接智能卡的难度。
技术实现思路
本专利技术提供了一种测试智能卡的方法及读卡器,解决了上述技术问题。本专利技术提供了一种测试智能卡的方法,包括:步骤s1:读卡器接收来自上位机的指令,当接收到来自上位机的第一测试指令后,执行步骤s2;当接收到来自上位机的第二测试指令后,执行步骤s4;当接收到来自上位机的第三测试指令后,执行步骤s6;步骤s2:所述读卡器根据所述第一测试指令得到包括准备参数的准备指令;向智能卡发送所述准备指令;获取来自所述智能卡的准备应答;步骤s3:所述读卡器根据所述准备应答向所述上位机报告第一测试应答,返回步骤s1;步骤s4:所述读卡器根据所述第二测试指令得到包括串联级别参数、有效数据参数和卡标识参数的防冲突指令;向智能卡发送所述防冲突指令;获取来自所述智能卡的防冲突应答;步骤s5:所述读卡器根据所述防冲突应答向所述上位机报告第二测试应答,返回步骤s1;步骤s6:所述读卡器根据所述第三测试指令得到包括第一校验值、串联级别参数、有效数据参数和卡标识参数的选择指令;向智能卡发送所述选择指令;获取来自所述智能卡的选择 ...
【技术保护点】
一种测试智能卡的方法,其特征在于,包括:步骤s1:读卡器接收来自上位机的指令,当接收到来自上位机的第一测试指令后,执行步骤s2;当接收到来自上位机的第二测试指令后,执行步骤s4;当接收到来自上位机的第三测试指令后,执行步骤s6;步骤s2:所述读卡器根据所述第一测试指令得到包括准备参数的准备指令;向智能卡发送所述准备指令;获取来自所述智能卡的准备应答;步骤s3:所述读卡器根据所述准备应答向所述上位机报告第一测试应答,返回步骤s1;步骤s4:所述读卡器根据所述第二测试指令得到包括串联级别参数、有效数据参数和卡标识参数的防冲突指令;向智能卡发送所述防冲突指令;获取来自所述智能卡的防冲突应答;步骤s5:所述读卡器根据所述防冲突应答向所述上位机报告第二测试应答,返回步骤s1;步骤s6:所述读卡器根据所述第三测试指令得到包括第一校验值、串联级别参数、有效数据参数和卡标识参数的选择指令;向智能卡发送所述选择指令;获取来自所述智能卡的选择应答;步骤s7:所述读卡器根据所述选择应答向所述上位机报告第三测试应答,返回步骤s1。
【技术特征摘要】
1.一种测试智能卡的方法,其特征在于,包括:步骤s1:读卡器接收来自上位机的指令,当接收到来自上位机的第一测试指令后,执行步骤s2;当接收到来自上位机的第二测试指令后,执行步骤s4;当接收到来自上位机的第三测试指令后,执行步骤s6;步骤s2:所述读卡器根据所述第一测试指令得到包括准备参数的准备指令;向智能卡发送所述准备指令;获取来自所述智能卡的准备应答;步骤s3:所述读卡器根据所述准备应答向所述上位机报告第一测试应答,返回步骤s1;步骤s4:所述读卡器根据所述第二测试指令得到包括串联级别参数、有效数据参数和卡标识参数的防冲突指令;向智能卡发送所述防冲突指令;获取来自所述智能卡的防冲突应答;步骤s5:所述读卡器根据所述防冲突应答向所述上位机报告第二测试应答,返回步骤s1;步骤s6:所述读卡器根据所述第三测试指令得到包括第一校验值、串联级别参数、有效数据参数和卡标识参数的选择指令;向智能卡发送所述选择指令;获取来自所述智能卡的选择应答;步骤s7:所述读卡器根据所述选择应答向所述上位机报告第三测试应答,返回步骤s1。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一测试指令得到包括准备参数的准备指令,具体为:所述读卡器从所述第一测试指令中获取包括准备参数的准备指令;所述根据所述第二测试指令得到包括串联级别参数、有效数据参数和卡标识参数的防冲突指令,具体为:所述读卡器从所述第二测试指令中获取包括所述串联级别参数、所述有效数据参数和所述卡标识参数的防冲突指令;所述根据所述第三测试指令得到包括第一校验值、串联级别参数、有效数据参数和卡标识参数的选择指令,具体为:所述读卡器从所述第三测试指令中获取包括第一校验值、所述串联级别参数、所述有效数据参数和所述卡标识参数的选择指令。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一测试指令得到包括准备参数的准备指令,具体为:所述读卡器根据所述第一测试指令中的所述准备参数组织包括准备参数的准备指令;所述根据所述第二测试指令得到包括串联级别参数、有效数据参数和卡标识参数的防冲突指令,具体为:所述读卡器根据所述第二测试指令中的所述串联级别参数、所述有效数据参数和所述卡标识参数组织包括所述串联级别参数、所述有效数据参数和所述卡标识参数的防冲突指令;所述根据所述第三测试指令得到包括第一校验值、串联级别参数、有效数据参数和卡标识参数的选择指令,具体为:所述读卡器根据所述第三测试指令中的所述串联级别参数、所述有效数据参数和所述卡标识参数组织包括第一校验值、所述串联级别参数、所述有效数据参数和所述卡标识参数的选择指令。4.根据权利要求3所述的方法,其特征在于,所述准备参数具体为初始化参数或者唤醒参数;所述准备指令包括初始化指令或者唤醒指令;所述组织包括准备参数的准备指令具体为:若所述准备参数为所述初始化参数,将所述初始化参数作为所述初始化指令;若所述准备参数为所述唤醒参数,将所述唤醒参数作为所述唤醒指令;所述组织包括所述串联级别参数、所述有效数据参数和所述卡标识参数的防冲突指令具体为:根据所述串联级别参数设置所述防冲突指令的第一个字节上的数据,根据所述有效数据参数设置所述防冲突指令的第二个字节上的数据,根据所述卡标识参数设置所述防冲突指令的第二个字节之后的数据,得到包括所述串联级别参数、所述有效数据参数和所述卡标识参数的所述防冲突指令;所述组织包括第一校验值、所述串联级别参数、所述有效数据参数和所述卡标识参数的选择指令,具体为:根据所述第三测试指令中的所述串联级别参数、所述有效数据参数和所述卡标识参数计算所述第一校验值,根据所述串联级别参数设置所述选择指令的第一个字节上的数据,根据所述有效数据参数设置所述选择指令的第二个字节上的数据,根据所述卡标识参数设置所述选择指令的第三到第七字节上的数据,根据所述第一校验值设置所述卡标识参数之后的数据,得到包括所述串联级别参数、所述有效数据参数、所述卡标识参数和所述第一校验值的选择指令;所述组织包括第一校验值、所述串联级别参数、所述有效数据参数和所述卡标识参数的选择指令,或者具体为:根据所述串联级别参数设置所述选择指令的第一个字节上的数据,根据所述有效数据参数设置所述选择指令的第二个字节上的数据,根据所述卡标识参数设置所述选择指令的第三到第七字节上的数据,根据所述第三测试指令中的第一校验值设置所述卡标识参数之后的数据,得到包括所述串联级别参数、所述有效数据参数、所述卡标识参数和所述第一校验值的选择指令。5.根据权利要求1所述的方法,其特征在于,所述向智能卡发送所述防冲突指令之前还包括:设置防冲突测试;所述向智能卡发送所述防冲突指令之后,还包括获取防冲突测试结果;所述第二测试应答中还包括防冲突测试结果。6.根据权利要求5所述的方法,其特征在于,所述第二测试指令中包括防冲突测试参数;所述设置防冲突测试之前还包括:根据所述防冲突测试参数判断是否设置防冲突测试,如果是,则设置防冲突测试,继续;否则,向所述智能卡发送所述防冲突指令,获取来自所述智能卡的防冲突应答,执行步骤s5。7.根据权利要求5所述的方法,其特征在于,所述步骤s5具体包括:步骤a1:所述读卡器根据所述防冲突测试结果判断在当前串联级别下是否存在卡片响应冲突,如果是,则执行步骤a2;否则,执行步骤a3;步骤a2:所述读卡器根据所述防冲突测试结果中的防冲突位置更新有效数据参数,根据所述防冲突位置和所述防冲突应答获取卡标识防冲突码,将所述卡标识参数更新为所述卡标识防冲突码,向所述上位机报告包括所述防冲突测试结果、所述有效数据参数和所述卡标识参数的第二测试应答,返回步骤s1;步骤a3:所述读卡器将所述卡标识参数更新为防冲突应答,将所述有效数据参数更新为第二预设值,向所述上位机报告包括所述防冲突测试结果、更新后的有效数据参数和更新后的卡标识参数第二测试应答,返回步骤s1。8.根据权利要求1所述的方法,其特征在于,步骤s5具体为:向所述上位机报告包括所述防冲突应答的第二测试应答,返回步骤s1。9.根据权利要求1所述的方法,其特征在于,所述步骤s7具体为:向所述上位机报告包括所述选择应答的第三测试应答,返回步骤s1。10.根据权利要求1所述的方法,其特征在于,所述步骤s7具体包括:步骤b1:所述读卡器根据选择应答判断智能卡是否处于工作状态,如果是,则向所述上位机报告智能卡处于工作状态,返回步骤s1;否则,执行步骤b2;步骤b2:所述读卡器将所述串联级别参数更新为下一串联级别值,将所述有效数据参数更新为第一预设值,将卡标识更新为空,向所述上位机报告包括更新后的串联级别参数、有效数据参数和卡标识参数的第三测试应答,返回步骤s1。11.根据权利要求1所述的方法,其特征在于,所述向智能卡发送所述选择指令之前,还包括:设置应答校验测试;所述第三测试应答中包括:应答校验测试结果;所述根据所述选择应答向上位机报告第三测试应答之前还包括:获取应答校验测试结果。12.根据权利要求11所述的方法,其特征在于,所述第三测试指令中还包括:应答校验测试参数;所述设置应答校验测试之前,还包括:根据所述应答校验测试参数判断是否设置应答校验测试,如果是,则设置应答校验测试,继续;否则,向智能卡发送所述选择指令,获取来自所述智能卡的选择应答,执行步骤s7。13.根据权利要求1所述的方法,其特征在于,所述向智能卡发送所述准备指令和/或所述防冲突指令和/或所述选择指令之前,还包括:设置数据传输测试;若所述向智能卡发送所述准备指令之前,设置数据传输测试;则所述第一测试应答中包括:数据传输测试结果;所述根据所述准备应答向上位机报告第一测试应答之前还包括:获取数据传输测试结果;若所述向智能卡发送所述防冲突指令之前,设置数据传输测试;则所述第二测试应答中包括:数据传输测试结果;根据所述防冲突应答和所述防冲突测试结果向上位机报告第二测试应答之前还包括:获取数据传输测试结果;若所述向智能卡发送所述选择指令之前,设置数据传输测试;则所述第三测试应答中包括:数据传输测试结果;根据所述选择应答向上位机报告第三测试应答之前还包括:获取数据传输测试结果。14.根据权利要求13所述的方法,其特征在于,所述第一测试指令中和/或所述第二测试指令中和/或第三测试指令中包括:数据传输测试参数;若所述第一测试指令中包括数据传输测试参数,则所述设置传输测试之前,还包括:根据所述数据传输测试参数判断是否设置数据传输测试,如果是,则设置数据传输测试,继续;否则,向智能卡发送所述准备指令,获取来自所述智能卡的准备应答,执行步骤s3;若所述第二测试指令中包括数据传输测试参数,则所述设置传输测试之前,还包括:根据所述数据传输测试参数判断是否设置数据传输测试,如果是,则设置数据传输测试,继续;否则,向智能卡发送所述防冲突指令,获取来自所述智能卡的防冲突应答,执行步骤s5;若所述第三测试指令中包括数据传输测试参数,则所述设置传输测试之前,还包括:根据所述数据传输测试参数判断是否设置数据传输测试,如果是,则设置数据传输测试,继续;否则,向智能卡发送所述选择指令,获取来自所述智能卡的选择应答,执行步骤s7。15.根据权利要求1所述的方法,其特征在于,所述步骤s1中还包括:当接收到来自上位机的第四测试指令后,执行步骤s8;当接收到来自上位机的第五测试指令后,执行步骤s10;步骤s8:所述读卡器根据所述第四测试指令得到获取通讯数据指令;向智能卡发送所述获取通讯数据指令;获取来自所述智能卡的通讯数据应答;步骤s9:所述读卡器根据所述通讯数据应答向上位机报告第四测试应答;步骤s10:所述读卡器根据第五测试指令得到通讯协商指令;向智能卡发送通讯协商指令;获取来自所述智能卡的通讯协商应答;步骤s11:所述读卡器根据所述通讯协商应答,向上位机报告第五测试应答;返回步骤s1。16.根据权利要求15所述的方法,其特征在于,所述根据所述第四测试指令得到获取通讯数据指令,具体为:所述读卡器根据第三预设值设置所述获取通讯数据指令中的第一字节上的数据,根据所述第四测试指令中的第一参数和第二参数设置获取通讯数据指令中的第二字节上的数据;根据所述获取通讯数据指令中的第一字节和第二字节上的数据计算第二校验值,将所述第二校验值设置在所述获取通讯数据指令中的第二字节后,得到获取通讯数据指令;所述根据第五测试指令得到通讯协商指令,具体为:所述读卡器根据所述第五测试指令中的第二参数设置通讯协商指令中的第一字节上的数据;根据所述第五测试指令中的第四参数设置所述通讯协商指令中的第二字节上的数据;根据所述第五测试指令中的第五参数设置所述通讯协商指令中的第三字节上的数据,根据通讯协商指令中的第一字节、第二字节和第三字节上的数据计算第三校验值,将第三校验值设置在通讯协商指令中的第三字节后,得到通讯协商指令。17.根据权利要求15所述的方法,其特征在于,所述根据所述第四测试指令得到获取通讯数据指令,具体为:从所述第四测试指令中获取获取通讯数据指令;所述根据第五测试指令得到通讯协商指令,具体为:从所述第五测试指令中获取通讯协商指令。18.根据权利要求15所述的方法,其特征在于,所述向智能卡发送所述获取通讯数据指令和/或所述通讯协商指令之前,还包括:设置应答校验测试;若所述读卡器向智能卡发送所述获取通讯数据指令之前,设置应答校验测试;则所述第四测试应答中包括:应答校验测试结果;所述根据所述通讯数据应答向上位机报告第四测试应答之前还包括:获取应答校验测试结果;若所述读卡器向智能卡发送通讯协商指令之前,设置应答校验测试;所述第五测试应答中包括:应答校验测试结果;所述根据所述通讯协商应答向上位机报告第五测试应答之前还包括:获取应答校验测试结果。19.根据权利要求18所述的方法,其特征在于,所述第四测试指令中和/或所述第五测试指令中包括:还包括:应答校验测试参数;若所述第四测试指令中包括应答校验测试参数,则所述设置应答校验测试之前,还包括:根据所述应答校验测试参数判断是否设置应答校验测试,如果是,则设置应答校验测试,继续;否则,向智能卡发送所述获取通讯数据指令,获取来自所述智能卡的通讯数据应答;执行步骤s9;若所述第五测试指令中包括应答校验测试参数,则所述设置应答校验测试之前,还包括:根据所述应答校验测试参数判断是否设置应答校验测试,如果是,则设置应答校验测试,继续;否则,向智能卡发送所述通讯协商指令,获取来自所述智能卡的通讯协商应答;执行步骤s11。20.根据权利要求15所述的方法,其特征在于,所述向智能卡发送所述准备指令和/或所述防冲突指令和/或所述选择指令和/或所述获取通讯数据指令和/或所述通讯协商指令之前,还包括:设置数据传输测试;若所述向智能卡发送所述准备指令之前,设置数据传输测试;则所述第一测试应答中包括:数据传输测试结果;所述根据所述准备应答向上位机报告第一测试应答之前还包括:获取数据传输测试结果;若所述向智能卡发送所述防冲突指令之前,设置数据传输测试;则所述第二测试应答中包括:数据传输测试结果;根据所述防冲突应答和所述防冲突测试结果向上位机报告第二测试应答之前还包括:获取数据传输测试结果;若所述向智能卡发送所述选择指令之前,设置数据传输测试;则所述第三测试应答中包括:数据传输测试结果;根据所述选择应答向上位机报告第三测试应答之前还包括:获取数据传输测试结果;若所述向智能卡发送所述获取通讯数据指令之前,设置数据传输测试;则所述第四测试应答中包括:数据传输测试结果;所述根据所述通讯数据应答向上位机报告第四测试应答,之前还包括:获取数据传输测试结果;若所述向智能卡发送通讯协商指令之前,设置数据传输测试;则所述第五测试应答中包括:数据传输测试结果;所述根据所述通讯协商应答向上位机报告第五测试应答,之前还包括:获取数据传输测试结果。21.根据权利要求20所述的方法,其特征在于,所述第一测试指令中和/或所述第二测试指令中和/或第三测试指令中和/或所述第四测试指令中和/或所述第五测试指令中包括:数据传输测试参数;若所述第一测试指令中包括数据传输测试参数,则所述设置数据传输测试之前,还包括:根据所述数据传输测试参数判断是否设置数据传输测试,如果是,则设置数据传输测试,继续;否则,向智能卡发送所述准备指令,获取来自所述智能卡的准备应答,执行步骤s3;若所述第二测试指令中包括数据传输测试参数,则所述设置数据传输测试之前,还包括:根据所述数据传输测试参数判断是否设置数据传输测试,如果是,则设置数据传输测试,继续;否则,向智能卡发送所述防冲突指令,获取来自所述智能卡的防冲突应答,执行步骤s5;若所述第三测试指令中包括数据传输测试参数,则所述设置数据传输测试之前,还包括:根据所述数据传输测试参数判断是否设置数据传输测试,如果是,则设置数据传输测试,继续;否则,向智能卡发送所述选择指令,获取来自所述智能卡的选择应答,执行步骤s7;若所述第四测试指令中包括数据传输测试参数,则所述设置数据传输测试之前,还包括:根据所述数据传输测试参数判断是否设置数据传输测试,如果是,则设置数据传输测试,继续;否则,向智能卡发送所述获取通讯数据指令,获取来自所述智能卡的通讯数据应答;执行步骤s9;若所述第五测试指令中包括数据传输测试参数,则所述设置数据传输测试之前,还包括:根据所述数据传输测试参数判断是否设置数据传输测试,如果是,则设置数据传输测试,继续;否则,向智能卡发送所述通讯协商指令,获取来自所述智能卡的通讯协商应答;执行步骤s11。22.根据权利要求1所述的方法,其特征在于,所述步骤s1中还包括:当接收到来自上位机的第六测试指令后,执行步骤s12;步骤s12:所述读卡器根据所述第六测试指令得到包括挂起参数的第六测试指令;向智能卡发送第六测试指令;获取来自智能卡的挂起应答;步骤s13:所述读卡器根据挂起应答向上位机报告第六测试应答。23.一种测试智能卡的读卡器,其特征在于,包括:第一接收模块、第二接收模块、第三接收模块、准备指令模块、防冲突指令模块、选择指令模块、第一发送模块、第二发送模块、第三发送模块、第一获取模块、第二获取模块、第三获取模块、第一报告模块、第二报告模块和第三报告模块;所述第一接收模块,用于接收来自上位机的第一测试指令;所述第二接收模块,用于接收来自上位机的第二测试指令;所述第三接收模块,用于接收来自上位机的第三测试指令;所述准备指令模块,用于根据所述第一接收模块接收到的所述第一测试指令得到包括准备参数的准备指令;所述防冲突指令模块,用于根据所述第二接收模块接收到的所述第二测试指令得到包括串联级别参数、有效数据参数和卡标识参数的防冲突指令;所述选择指令模块,用于根据所述第三接收模块接收到的所述第三测试指令得到包括第一校验值、串联级别参数、有效数据参数和卡标识参数的选择指令;所述第一发送模块,用于向智能卡发送所述准备指令;所述第二发送模块,用于向智能卡发送所述防冲突指令;所述第三发送模块,用于向智能卡发送所述选择指令;所述第一获取模块,用于获取来自智能卡的准备应答;所述第二获取模块,用于获取来自智能卡的防冲突应答;所述第三获取模块,用于获取来自智能卡的选择应答;所述第一报告模块,用于根据所述准备应答向所述上位机报告第一测试应答;所述第...
【专利技术属性】
技术研发人员:陆舟,于华章,
申请(专利权)人:飞天诚信科技股份有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。