一种PC/SC驱动库在IOS设备中的工作方法技术

技术编号:11690303 阅读:113 留言:0更新日期:2015-07-08 00:37
本发明专利技术提供一种PC/SC驱动库在IOS设备中的工作方法,属于信息安全领域,该方法包括:PC/SC驱动库从IOS系统中获取外接设备配件协议信息,从应用程序中获取读卡器配件协议信息,获取与IOS系统连接的外接设备,对外接设备和IOS系统之间的通信通道进行初始化,获取通信通道对象,保存该外接设备的外接设备信息,向IOS系统注册中心注册第一通知,判断是否有与IOS系统连接的外接设备,是则等待调用PC/SC驱动库提供的访问外接设备的指令接口,与外接设备通信;否则通过第一通知检测外接设备插入或拔出;采用本发明专利技术提供的方法能够实现IOS系统和外接设备之间利用PC/SC驱动库进行通信。

【技术实现步骤摘要】
一种PC/SC驱动库在IOS设备中的工作方法
本专利技术涉及一种信息安全领域,特别涉及一种PC/SC驱动库在IOS设备中的工作方法。
技术介绍
PC/SC接口是一种基于WINDOWS平台的一个标准用户接口,提供了一个从个人电脑(PersonalComputer)到智能卡(SmartCard)的整合环境,允许多个应用共享使用系统同一张智能卡的资源管理器;随着苹果设备的广泛应用,智能卡与苹果设备相结合进行使用,也受到用户关注。本领域技术人员发现,目前,IOS作为苹果设备的操作系统,不支持PC/SC接口。
技术实现思路
为解决现有技术中存在的缺陷,本专利技术提出一种PC/SC驱动库在IOS设备中的工作方法,使PC/SC接口能够应用在IOS系统中,实现IOS系统与外接设备进行通信,该方法包括:步骤S1:PC/SC驱动库从IOS系统中的外接设备信息中获取外接设备配件协议信息,从应用程序中预设的读卡器设备信息中获取读卡器配件协议信息;步骤S2:所述PC/SC驱动库根据所述外接设备配件协议信息和所述读卡器配件协议信息,判断是否存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,是则执行步骤S3;否则执行步骤S5;步骤S3:所述PC/SC驱动库将设备匹配标志置位,根据所述外接设备配件协议信息和所述读卡器配件协议信息获取相应的外接设备对象,执行步骤S4;步骤S4:所述PC/SC驱动库根据所述外接设备对象和所述外接设备配件协议信息,对所述外接设备与所述IOS系统之间的通信通道进行初始化,获取通信通道对象,并保存相应的外接设备信息,执行步骤S5;步骤S5:所述PC/SC驱动库判断是否已经向IOS系统注册中心注册第一通知,是则执行步骤S6;否则所述PC/SC驱动库向所述IOS系统注册中心注册第一通知,执行步骤S6;步骤S6:所述PC/SC驱动库根据所述设备匹配标志,判断是否存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,是则执行步骤S8;否则执行步骤S7;步骤S7:所述PC/SC驱动库通过所述第一通知检测外接设备插入或拔出,将所述外接设备的外接设备信息发送给所述应用程序,结束;其中,当所述PC/SC驱动库通过所述第一通知检测外接设备拔出时,还包括,将所述设备匹配标志复位;步骤S8:所述PC/SC驱动库从所述外接设备信息中获取第一信息,将所述第一信息报告给所述应用程序;当所述PC/SC驱动库提供的访问外接设备的指令接口被调用时,判断接收到的参数是否合法,是则执行步骤W1;否则向应用程序发送参数不合法信息,结束;步骤W1:根据所述接收到的参数封装访问外部设备指令,将封装的访问外接设备的指令通过所述通信通道对象发送给所述外接设备;步骤W2:接收所述外接设备返回的访问外接设备响应,将所述访问外接设备响应发送给所述应用程序,结束。所述步骤S2,具体包括:步骤S2-1:所述PC/SC驱动库对所述外接设备配件协议信息进行判断,如果所述读卡器配件协议信息中包含所述外接设备配件协议信息,则执行步骤S3;否则执行步骤S5。所述步骤S1,具体包括:PC/SC驱动库获取IOS系统中的ExternalAccessory.framework框架中的第一单例对象,通过所述第一单例对象的第一实例方法获取IOS系统中的外接设备信息,对获取到的外接设备信息进行枚举,从所述外接设备信息中获取外接设备配件协议信息;获取应用程序已经注册的读卡器设备信息,从所述读卡器设备信息中获取读卡器配件协议信息。所述步骤S6,具体包括:所述PC/SC驱动库判断所述设备匹配标志是否置位,是则存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,执行步骤S8;否则不存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,执行步骤S7。所述步骤S8,具体包括:所述PC/SC驱动库从所述外接设备信息中获取第一信息,保存所述外接设备信息,将所述第一信息通过所述PC/SC驱动库的第一接口报告给所述应用程序。所述PC/SC驱动库将封装的访问外接设备的指令通过所述通信通道对象发送给所述外接设备,具体包括:所述PC/SC驱动库将封装的访问外接设备的指令通过所述通信通道对象和所述IOS系统提供的接口发送给所述外接设备。所述步骤S4之后,还包括:步骤A1:所述PC/SC驱动库初始化卡槽状态标识;步骤A2:所述PC/SC驱动库根据所述外接设备配件协议信息和所述读卡器配件协议信息,判断是否存在与所述读卡器配件协议匹配的外接设备,是则执行步骤A4;否则执行步骤A3;步骤A3:所述PC/SC驱动库休眠,预设时间后再唤醒,返回步骤A2;步骤A4:所述PC/SC驱动库判断所述应用程序是否设置PC/SC驱动库提供的委派函数,是则执行步骤A5;否则执行步骤A3;步骤A5:所述PC/SC驱动库休眠,预设时间后再唤醒,向所述IOS系统发送查询卡槽状态指令;步骤A6:所述PC/SC驱动库接收所述IOS系统返回的卡槽状态响应,根据所述卡槽状态响应和所述卡槽状态标识,判断卡槽状态是否发生改变,是则执行步骤A7;否则返回步骤A2;步骤A7:所述PC/SC驱动库根据所述卡槽状态响应设置卡槽状态标识,判断所述应用程序是否设置所述PC/SC驱动库提供的委派函数,是则执行步骤A8;否则返回步骤A2;步骤A8:所述PC/SC驱动库通过委派函数向所述应用程序发送卡槽状态变化信息。所述步骤S4之后,还包括:所述PC/SC驱动库启动查询卡槽状态线程,循环进行查询卡槽状态的操作,直到所述PC/SC驱动库释放第一句柄时结束;当所述PC/SC驱动库的释放资源函数被调用时,释放所述第一句柄。所述查询卡槽状态的操作,具体包括:步骤B1:所述PC/SC驱动库初始化卡槽状态标识;步骤B2:所述PC/SC驱动库根据所述外接设备配件协议信息和所述读卡器配件协议信息,判断是否存在与所述读卡器配件协议匹配的外接设备,是则执行步骤B4;否则执行步骤B3;步骤B3:所述PC/SC驱动库休眠,预设时间后再唤醒,返回步骤B2;步骤B4:所述PC/SC驱动库向所述IOS系统发送查询卡槽状态指令,执行步骤B5;步骤B5:所述PC/SC驱动库接收所述IOS系统返回的卡槽状态响应,根据所述卡槽状态响应设置卡槽状态标识。所述步骤S8之后,还包括:步骤C1:当所述PC/SC驱动库的第二接口被调用时,判断所述设备匹配标志是否置位,是则执行步骤C2;否则退出所述第二接口;步骤C2:所述PC/SC驱动库初始化计时标识;步骤C3:所述PC/SC驱动库的第二接口判断外部传入的智能卡状态参数是否与所述PC/SC驱动库中保存的卡槽状态标识相同,是则执行步骤C5;否则执行步骤C4;步骤C4:所述PC/SC驱动返回卡槽状态变化信息,退出所述第二接口;步骤C5:所述PC/SC驱动库判断是否需要计算超时,是则执行步骤C6;否则执行步骤C3;步骤C6:所述PC/SC驱动库根据所述计时标识和外部传入的超时时间参数,判断是否超时,是则退出所述第二接口;否则执行步骤C7;步骤C7:所述PC/SC驱动库休眠,预设时间后再唤醒,更新所述计时标识,返回步骤C3。所述PC/SC驱动库根据所述外接设备对象和所述外接设备配件协议信息,对所述外接设备与所述IOS系统之间的通信通道进行初始化,具体包本文档来自技高网...
一种PC/SC驱动库在IOS设备中的工作方法

【技术保护点】
一种PC/SC驱动库在IOS设备中的工作方法,其特征在于,包括:步骤S1:PC/SC驱动库从IOS系统中的外接设备信息中获取外接设备配件协议信息,从应用程序中预设的读卡器设备信息中获取读卡器配件协议信息;步骤S2:所述PC/SC驱动库根据所述外接设备配件协议信息和所述读卡器配件协议信息,判断是否存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,是则执行步骤S3;否则执行步骤S5;步骤S3:所述PC/SC驱动库将设备匹配标志置位,根据所述外接设备配件协议信息和所述读卡器配件协议信息获取相应的外接设备对象,执行步骤S4;步骤S4:所述PC/SC驱动库根据所述外接设备对象和所述外接设备配件协议信息,对所述外接设备与所述IOS系统之间的通信通道进行初始化,获取通信通道对象,并保存相应的外接设备信息,执行步骤S5;步骤S5:所述PC/SC驱动库判断是否已经向IOS系统注册中心注册第一通知,是则执行步骤S6;否则所述PC/SC驱动库向所述IOS系统注册中心注册第一通知,执行步骤S6;步骤S6:所述PC/SC驱动库根据所述设备匹配标志,判断是否存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,是则执行步骤S8;否则执行步骤S7;步骤S7:所述PC/SC驱动库通过所述第一通知检测外接设备插入或拔出,将所述外接设备的外接设备信息发送给所述应用程序,结束;其中,当所述PC/SC驱动库通过所述第一通知检测外接设备拔出时,还包括,将所述设备匹配标志复位;步骤S8:所述PC/SC驱动库从所述外接设备信息中获取第一信息,将所述第一信息报告给所述应用程序;当所述PC/SC驱动库提供的访问外接设备的指令接口被调用时,判断接收到的参数是否合法,是则执行步骤W1;否则向应用程序发送参数不合法信息,结束;步骤W1:根据所述接收到的参数封装访问外部设备指令,将封装的访问外接设备的指令通过所述通信通道对象发送给所述外接设备;步骤W2:接收所述外接设备返回的访问外接设备响应,将所述访问外接设备响应发送给所述应用程序,结束。...

【技术特征摘要】
1.一种PC/SC驱动库在IOS设备中的工作方法,其特征在于,包括:步骤S1:PC/SC驱动库从IOS系统中的外接设备信息中获取外接设备配件协议信息,从应用程序中预设的读卡器设备信息中获取读卡器配件协议信息;步骤S2:所述PC/SC驱动库根据所述外接设备配件协议信息和所述读卡器配件协议信息,判断是否存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,是则执行步骤S3;否则执行步骤S5;步骤S3:所述PC/SC驱动库将设备匹配标志置位,根据所述外接设备配件协议信息和所述读卡器配件协议信息获取相应的外接设备对象,执行步骤S4;步骤S4:所述PC/SC驱动库根据所述外接设备对象和所述外接设备配件协议信息,对所述外接设备与所述IOS系统之间的通信通道进行初始化,获取通信通道对象,并保存相应的外接设备信息,执行步骤S5;步骤S5:所述PC/SC驱动库判断是否已经向IOS系统注册中心注册第一通知,是则执行步骤S6;否则所述PC/SC驱动库向所述IOS系统注册中心注册第一通知,执行步骤S6;步骤S6:所述PC/SC驱动库根据所述设备匹配标志,判断是否存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,是则执行步骤S8;否则执行步骤S7;步骤S7:所述PC/SC驱动库通过所述第一通知检测外接设备插入或拔出,将所述外接设备的外接设备信息发送给所述应用程序,结束;其中,当所述PC/SC驱动库通过所述第一通知检测外接设备拔出时,还包括,将所述设备匹配标志复位;步骤S8:所述PC/SC驱动库从所述外接设备信息中获取第一信息,将所述第一信息报告给所述应用程序;当所述PC/SC驱动库提供的访问外接设备的指令接口被调用时,判断接收到的参数是否合法,是则执行步骤W1;否则向应用程序发送参数不合法信息,结束;步骤W1:根据所述接收到的参数封装访问外部设备指令,将封装的访问外接设备的指令通过所述通信通道对象发送给所述外接设备;步骤W2:接收所述外接设备返回的访问外接设备响应,将所述访问外接设备响应发送给所述应用程序,结束。2.如权利要求1所述的方法,其特征在于,所述步骤S2,具体包括:步骤S2-1:所述PC/SC驱动库对所述外接设备配件协议信息进行判断,如果所述读卡器配件协议信息中包含所述外接设备配件协议信息,则执行步骤S3;否则执行步骤S5。3.如权利要求1所述的方法,其特征在于,所述步骤S1,具体包括:PC/SC驱动库获取IOS系统中的ExternalAccessory.framework框架中的第一单例对象,通过所述第一单例对象的第一实例方法获取IOS系统中的外接设备信息,对获取到的外接设备信息进行枚举,从所述外接设备信息中获取外接设备配件协议信息;获取应用程序已经注册的读卡器设备信息,从所述读卡器设备信息中获取读卡器配件协议信息。4.如权利要求1所述的方法,其特征在于,所述步骤S6,具体包括:所述PC/SC驱动库判断所述设备匹配标志是否置位,是则存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,执行步骤S8;否则不存在与所述读卡器设备信息匹配的外接设备与所述IOS系统连接,执行步骤S7。5.如权利要求1所述的方法,其特征在于,所述步骤S8,具体包括:所述PC/SC驱动库从所述外接设备信息中获取第一信息,保存所述外接设备信息,将所述第一信息通过所述PC/SC驱动库的第一接口报告给所述应用程序。6.如权利要求1所述的方法,其特征在于,所述PC/SC驱动库将封装的访问外接设备的指令通过所述通信通道对象发送给所述外接设备,具体包括:所述PC/SC驱动库将封装的访问外接设备的指令通过所述通信通道对象和所述IOS系统提供的接口发送给所述外接设备。7.如权利要求1所述的方法,其特征在于,所述步骤S5中,所述PC/SC驱动库判断是否已经向IOS系统注册中心注册第一通知的同时,还包括:步骤A1:所述PC/SC驱动库初始化卡槽状态标识;步骤A2:所述PC/SC驱动库根据所述外接设备配件协议信息和所述读卡器配件协议信息,判断是否存在与所述读卡器配件协议匹配的外接设备,是则执行步骤A4;否则执行步骤A3;步骤A3:所述PC/SC驱动库休眠,预设时间后再唤醒,返回步骤A2;步骤A4:所述PC/SC驱动库判断所述应用程序是否设置PC/SC驱动库提供的委派函数,是则执行步骤A5;否则执行步骤A3;步骤A5:所述PC/SC驱动库休眠,预设时间后再唤醒,向所述IOS系统发送查询卡槽状态指令;步骤A6:所述PC/SC驱动库接收所述IOS系统返回的卡槽状态响应,根据所述卡槽状态响应和所述卡槽状态标识,判断卡槽状态是否发生改变,是则执行步骤A7;否则返回步骤A2;步骤A7:所述PC/SC驱动库根据所述卡槽状态响应设置卡槽状态标识,判断所述应用程序是否设置所述PC/SC驱动库提供的委派函数,是则执行步骤A8;否则返回步骤A2;步骤A8:所述PC/SC驱动库通过委派函数向所述应用程序发送卡槽状态变化信息。8.如...

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

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

1