一种模拟智能卡信息交互的方法技术

技术编号:4251327 阅读:275 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种模拟智能卡信息交互的方法,包括以下步骤:在PC平台上启动模拟智能卡的软卡;软卡运行COS;使用信息交互文件的IO流模拟软卡运行COS时与客户端之间的信息交互。本发明专利技术通过PC平台模拟软卡,并用文件IO流来模拟智能卡与客户端的数据交互,从而解决了开发板资源短缺所带来的问题,可以极大地提高大型COS的开发效率。

【技术实现步骤摘要】

本专利技术涉及智能卡领域,特别涉及一种利用文件I/O流模拟智能卡信息交互的方法
技术介绍
智能卡(Smart Card,缩写为SC)内嵌有微芯片,智能卡操作系统通常称为芯片操 作系统C0S(Chip Operating System),其一般是紧紧围绕着它所服务的智能卡的特点而开 发的。由于不可避免地受到了智能卡内微处理器芯片的性能及内存容量的影响,因此,COS 在很大程度上不同于我们通常所能见到的微机上的操作系统(例如DOS、UNIX等)。首先,COS是一个专用系统而不是通用系统。即一种COS —般都只能应用于特定 的某种(或者某些))智能卡,不同卡内的cos—般是不相同的。尽管COS在所实际完成的 功能上可能大部分都遵循着同一个国际标准,但是因为cos —般都是根据某种智能卡的特 点及其应用范围而特定设计开发的,所以不同卡内的cos —般是不相同的。其次,与那些常见的微机上的操作系统相比较而言,COS在本质上更加接近于监控 程序、而不是一个通常所谓的真正意义上的操作系统。APDU(Application Protocol Data Unit)是应用协议数据单元,与智能卡交换信 息的基本单元就是APDU包,从PC机应用程序传出的命令消息,以及智能卡返回给PC机应 用程序的回应消息均称为APDU,智能卡与PC机的通信以APDU形式实现。在现有技术中,COS开发通常采用芯片商提供的开发板进行开发调试。然而专利技术 人发现,开发板的资源有限,在比较大型的cos开发中,就存在调试资源短缺的问题,给COS 开发造成了不便。
技术实现思路
本专利技术的目的在于,以解决现有技术的COS开发 中的开发板资源有限导致的问题。在本专利技术的实施例中提供了,包括以下步骤在 PC平台上启动模拟智能卡的软卡;软卡运行COS ;使用信息交互文件的10流模拟软卡运行 cos时与客户端之间的信息交互。本专利技术通过PC平台模拟软卡,并用文件10流来模拟智能卡与客户端的数据交互, 从而解决了开发板资源短缺所带来的问题,可以极大地提高大型cos的开发效率。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中图1是根据本专利技术实施例的模拟智能卡信息交互的方法的流程图;图2是实施例1提供的的流程图3是实施例2提供的另的流程图。 具体实施例方式下文中将参考附图并结合实施例来详细说明本专利技术。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。图1是根据本专利技术实施例的模拟智能卡信息交互的方法的流程图,包括以下步 骤步骤S10,在PC平台上启动模拟智能卡的软卡;步骤S20,软卡运行COS ;步骤S30,使用信息交互文件的10流模拟软卡运行COS时与客户端之间的信息交互。该方法通过PC平台模拟软卡,并用文件10流来模拟智能卡与客户端的数据交互, 从而解决了开发板资源短缺所带来的问题,可以极大地提高大型cos的开发效率。可选地,在上述的方法中,在PC平台上启动模拟智能卡的软卡包括利用智能卡 芯片开发软件创建适合智能卡芯片的软件模拟环境,设置智能卡芯片型号和访问内存的大 小端模式,设置半主控,并通过设置软件中断来实现智能卡芯片和客户端的交互。在图2和图3的实施例1和2中,首先利用智能卡芯片开发软件,即电路和系统分 析软件创建适合自己智能卡芯片的软模拟,具体创建的方法为设置智能卡芯片型号和访 问内存的大小端模式,设置Semih0Sting(半主控),并且通过设置软件中断来实现智能卡 芯片和客户端软件的交互;并且,为了模拟真实的智能卡芯片,将客户端软件使用的PC/SC(智能卡访问 WINDOWS的标准结构)规范中的APDU发送接口 SCardTransmit函数换成我们预先设定的文 件流接口 FileSCardTransmit 函数。可选地,在上述的方法中,使用信息交互文件的10流模拟软卡运行COS时与客户 端之间的信息交互包括软卡通过自带的接口来判断客户端中是否存在信息交互文件,若不存在,则在客 户端中创建信息交互文件,信息交互文件为一个文件,其包括标识A,当标识A为第一标识 时表示下行数据传输模式,用于模拟客户端向软卡发送数据;当标识A为第二标识时表示 上行数据传输模式,用于模拟软卡向客户端发送数据;客户端通过写入信息交互文件向软卡发送数据;客户端或软卡监视信息交互文件,在监视过程中通过信息交互文件的10流实现 客户端与软卡之间的交互数据。因为数据流方向包括从软卡到客户端的上行方向;从客户端到软卡的下行方 向。上述的信息交互文件设置方式都可以模拟这两种数据流方向。可选地,在上述的方法中,客户端通过写入信息交互文件向软卡发送数据包括将 信息交互文件的标识A设置为0,即将信息交互文件设置为处于下行数据传输模式中;若在 信息交互文件中预设了标识B,则客户端将标识B的值设置为特定值;若没有预设标识B,则 客户端将信息交互文件的标识A之后的数据清空,或将信息交互文件设为未锁定状态;将 要发送给软卡的数据写入信息交互文件中;其中标识B用于指示信息交互文件中是否含有数据,当标识B不为特定值,则说明信息交互文件中含有数据,当标识B为特定值,则说明信 息交互文件中不含有数据。这是一个初始化的步骤,通过客户端首先写入信息交互文件,从 而避免了软卡和客户端都在监控等待信息交互文件的可用状态,而造成死锁。可选地,在上述的方法中,客户端或软卡监视信息交互文件包括客户端或软卡读 取信息交互文件中预先设定的标识A ;当标识A为第一标识时,则判定信息交互文件处于下 行数据传输模式中;当标识A为第二标识时,则判定信息交互文件处于上行数据传输模式 中。客户端或软卡通过判断文件类型,就可以进行数据发送或接收的操作。可选地,在上述的方法中,在监视过程中通过信息交互文件的10流实现客户端与 软卡之间的交互数据包括在监视过程中客户端通过写入信息交互文件向软卡发送数据, 其包括当客户端判定信息交互文件是处于下行数据传输模式中时,客户端分析信息交互 文件;如果分析结果说明不能向软卡发送数据,则客户端继续监视信息交互文件;如果分 析结果说明能够向软卡发送数据,则客户端通过写入信息交互文件发送数据,然后继续监 视信息交互文件。该实施例实现了客户端的数据发送。可选地,在上述的方法中,客户端分析信息交互文件包括判断信息交互文件中预 设的标识B的值是特定值,或者判断信息交互文件的大小是一个字节,或者判断信息交互 文件未被锁定,则确定能够向软卡发送数据;判断信息交互文件中预设的标识B的值不是 特定值,或者判断信息交互文件的大小是大于一个字节,或者判断信息交互文件已被锁定, 则确定不能够向软卡发送数据。该实施例实现了对信息交互文件是否就绪等待写入数据的 状态进行判断。可选地,在上述的方法中,在监视过程中通过信息交互文件的10流实现客户端与 软卡之间的交互数据包括在监视过程中客户端通过读取信息交互文件接收软卡发送的数 据,其包括当客户端判定信息交互文件是处于上行数据传输模式中时,客户端分析信息交 互文件;如果分析结果说明软卡没有发送数据过来,则客户端继续监视信息交互文件;如 果分析结果说明软卡本文档来自技高网...

【技术保护点】
一种模拟智能卡信息交互的方法,其特征在于,包括以下步骤:在PC平台上启动模拟智能卡的软卡;所述软卡运行COS;使用信息交互文件的IO流模拟所述软卡运行所述COS时与客户端之间的信息交互。

【技术特征摘要】
一种模拟智能卡信息交互的方法,其特征在于,包括以下步骤在PC平台上启动模拟智能卡的软卡;所述软卡运行COS;使用信息交互文件的IO流模拟所述软卡运行所述COS时与客户端之间的信息交互。2.根据权利要求1所述的方法,其特征在于,在PC平台上启动模拟智能卡的软卡包括利用智能卡芯片开发软件创建适合智能卡芯片的软件模拟环境,设置智能卡芯片型号 和访问内存的大小端模式,设置半主控,并通过设置软件中断来实现智能卡芯片和客户端 的交互。3.根据权利要求1所述的方法,其特征在于,使用信息交互文件的IO流模拟所述软卡 运行所述COS时与客户端之间的信息交互包括所述软卡通过自带的接口来判断所述客户端中是否存在所述信息交互文件,若不存 在,则在所述客户端中创建所述信息交互文件,所述信息交互文件为一个文件,包括标识 A,当所述标识A为第一标识时表示下行数据传输模式,用于模拟所述客户端向所述软卡 发送数据;当所述标识A为第二标识时表示上行数据传输模式,用于模拟所述软卡向所述客户端 发送数据;所述客户端通过写入所述信息交互文件向所述软卡发送数据;所述客户端或所述软卡监视所述信息交互文件,在监视过程中通过所述信息交互文件 的IO流实现所述客户端与所述软卡之间的交互数据。4.根据权利要求3所述的方法,其特征在于,所述客户端通过写入所述信息交互文件 向所述软卡发送数据包括将所述信息交互文件的标识A设置为第一标识,即将所述信息交互文件设置为处于下 行数据传输模式中;若在所述信息交互文件中预设了标识B,则所述客户端将所述标识B的值设置为特定 值;若没有预设所述标识B,则所述客户端将所述信息交互文件的标识A之后的数据清空, 或将所述信息交互文件设为未锁定状态;其中所述标识B用于指示所述信息交互文件中是 否含有数据,当所述标识B不为特定值,则说明所述信息交互文件中含有数据,当所述标识 B为特定值,则说明所述信息交互文件中不含有数据;将要发送给所述软卡的数据写入所述信息交互文件中。5.根据权利要求3所述的方法,其特征在于,所述客户端或所述软卡监视所述信息交 互文件包括所述客户端或所述软卡读取所述信息交互文件中预先设定的标识A ;当所述标识A为第一标识时,则判定所述信息交互文件处于下行数据传输模式中;当所述标识A为第二标识时,则判定所述信息交互文件处于上行数据传输模式中。6.根据权利要求5所述的方法,其特征在于,在监视过程中通过所述信息交互文件的 IO流实现所述客户端与所述软卡之间的交互数据包括在监视过程中所述客户端通过写 入所述信息交互文件向所述软卡发送数据,包括当所述客户端判定所述信息交互文件是处于下行数据传输模式中时,所述客户端分析 所述信息交互文件;如果分析结果说明不能向所述软卡发送数据,则所述客户端继续监视所述信息交互文件;如果分析结果说明能够向所述软卡发送数据,则所述客户端通过写入所述信息交互文 件发送所述数据,然后继续监视所述信息交互文件。7.根据权利要求6所述的方法,其特征在于,所述客户端分析所述信息交互文件包括判断得到所述信息交互文件中预设的标识B的值是特定值,或者判断得到所述信息交 互文件的大小是一个字节,或者判断得到所述信息交互文件未被锁定,则确定能够向所述 软卡发送数据;判断得到所述信息交互文件中预设的标识B的值不是特定值,或者得到判断所述信息 交互文件的大小是大于一个字节,或者得到判断所述信息交互文件已被锁定,则确定不能 够向所述软卡发送数据。8.根据权利要求5所述的方法,其特征在于,在监视过程中通过所述信息交互文件的 10流实现所述客户端与所述软卡之间的交互数据包括在监视过程中所述客户端通过读 取所述信息交互文件接收所述软卡发送的数据,其包括当所述客户端判定所述信息交互文件是处于上行数据传输模式中时,所述客户端分析 所述信息交互文件;如果分析结果说明所述软卡没有发送数据过来,则所述客户端继续监视所述信息交互 文件;如果分析结果说明所述软卡已经发送数据过来,则所述客户端通过读取所述信息交互 文件接收所述数据,所述客户端对接收到的数据进行处理,然后继续监视所述信息交互文 件。9.根据权利要求8所述的方法,其特征在于,所述客户端分析所述信息交互文件包括判断得到所述信息交互文件中预设的标识B的值不是特定值,或者判断得到所述信息 交互文件的大小是大于一个字节,或者判断得到所述信息交互文件已被锁定,则确定所述 软卡是有数据发送过来;判断得到所述信息交互文件中预设的标识B的值是特定值,或者判断得到所述信息交 互文件的大小是一个字节,或者判断得到所述信息交互文件未被锁定,则确定所述软卡没 有数据发送过来;所述客户端通过读取所述信息交互文件接收所述数据包括所述信息交互文件中预设了标识B,所述客户端读取所述标识B之后的数据;或者所述 信息交互文件中没有预设标识B,则所述客户端读取所述标识A之后的数据。10.根据权利要求8所述的方法,其特征在于,在所述客户端通过读取所述信息交互文 件接收所述数据之后,还包括所述客户端将所述信息交互文件的标识A设置为第一标识,即将所述信息交互文件设 置为处于下行数据传输模式中;并且,若在所述信息交互文件中预设了所述标识B,则所述客户端将所述标识B的值设置为所述特定值;若没有预设所述标识B,则所述客户端将所述 信息交互文件的标识A之后的数据清空,或将所述信息交互文件设为未锁定状态。11.根据权利要求5所述的方法,其特征在于,在监视过程中通过所述信息交互文件的 10流实现所述客户端与所述软卡之间的交互数据包括在监视过程中所述软卡通过写入 所述信息交互文件向所述客户端发送数据,其包括当所述软卡判定所述信息交互文件是处于上行数据传输模式中时,所述软卡分析所述 信息交互文件;如果分析结果说明不能向所述客户端发送数据,则所述软卡继续监视所述信息交互文件;如果分析结果说明能够向所述客户端发送数据,则所述软卡通过写入所述信息交互文 件发送所述数据,然后继续监视所述信息交互文件。12.根据权利要求11所述的方法,其特征在于,所述软卡分析所述信息交互文件包括判断得出所述信息交互文件中预设的标识B的值是特定值,或者判断得出所述信息交 互文件的大小是一个字节,或者判断得出所述信息交互文件未被锁定,则确定能够向所述 客户端发送数据;判断得出所述信息交互文件中预设的标识B的值不是特定值,或者判断得出所述信息 交互文件的大小是大于一个字节,或者判断得出所述信息交互文件已被锁定,则确定不能 够向所述客户端发送数据。13.根据权利要求5所述的方法,其特征在于,在监视过程中通过所述信息交互文件的 10流实现所述客户端与所述软卡之间的交互数据包括在监视过程中所述软卡通过读取 所述信息交互文件接收所述客户端发送的数据,其包括当所述软卡判定所述信息交互文件是处于下行数据传输模式中时,所述软卡分析所述 信息交互文件;如果分析结果说明所述客户端没有发送数据过来,则所述软卡继续监视所述信息交互 文件;如果分析结果说明所述客户端已经发送数据过来,则所述软卡通过读取所述信息交互 文件接收所述数据,所述软卡对接收到的数据进行处理,然后继续监视所述信息交互文件。14.根据权利要求13所述的方法,其特征在于,所述软卡分析所述信息交互文件包括判断得出所述信息交互文件中预设的标识B的值不是特定值,或者判断得出所述信息 交互文件的大小是大于一个字节,或者判断得出所述信息交互文件已被锁定,则确定所述 客户端有数据发送过来;判断得出所述信息交互文件中预设的标识B的值是特定值,或者判断得出所述信息交 互文件的大小是一个字节,或者判断得出所述信息交互文件未被锁定,则确定所述客户端 没有数据发送过来;所述软卡通过读取所述信息交互文件接收所述数据包括所述信息交互文件中预设了标识B,所述软卡读取所述标识B之后的数据;或者所述信 息交互文件中没有预设标识B,则所述软卡读取所述标识A之后的数据。15.根据权利要求13所述的方法,其特征在于,在所述软卡通过读取所述信息交互文 件接收所述数据之后,还包括所述...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:北京飞天诚信科技有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1