CN103067173B - 基于脚本的动态密钥网络签发和界面控制方法及系统 - Google Patents
基于脚本的动态密钥网络签发和界面控制方法及系统 Download PDFInfo
- Publication number
- CN103067173B CN103067173B CN201210574485.6A CN201210574485A CN103067173B CN 103067173 B CN103067173 B CN 103067173B CN 201210574485 A CN201210574485 A CN 201210574485A CN 103067173 B CN103067173 B CN 103067173B
- Authority
- CN
- China
- Prior art keywords
- key
- client
- script
- issue
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于脚本的动态密钥网络签发和界面控制方法及系统,涉及金融机构网络交易安全领域,本发明支持多客户端并发访问,预先配置多种客户端界面布局,并将客户端界面布局的文件名称和布局文件保存在服务器,通过Python脚本配置动态控制密钥签发的流程、调用界面显示布局、配置界面显示的文字内容、依据流程动态生成用户界面,将签发流程中通用的功能划分成很小的功能模块,这些模块可以重组、替换,能够应用于多种业务应用场景,一旦业务应用场景和行业应用场景发生变化,只需要修改服务器端的控制脚本,即可改变签发流程和客户端的界面显示,无需重新开发客户端界面,缩短了产品周期,节省人力成本和时间成本,维护方便。
Description
技术领域
本发明涉及金融机构网络交易安全领域,特别是涉及一种基于脚本的动态密钥网络签发和界面控制方法及系统。
背景技术
随着我国信息产业的不断发展,以及我国金融市场的逐步开放,加上经济全球化和我国对外开放的基本国策,决定了我国的金融业也必将融入到世界经济中来,当前我国金融机构的网络化程度和存在的金融安全的问题显得尤为重要,交通、建设、移动、银行等行业都有管理密钥的专用软件和工具。
现有的密钥签发平台都是单机的,根据某个行业的需求开发出具有业务针对性的软件平台,密钥签发流程和界面显示均写在签发服务器的程序中,一旦用户需求有所改变,则需要重新开发相关的部分。如果需要开发新的行业的密钥签发平台,则需要重新定制开发,不同行业中密钥签发的内容及过程均不相同,但签发原理相似,每次针对密钥签发重新开发,给开发工作带来很大的重复工作量,开发效率较低,开发周期长,不仅耗费大量的人力成本和时间成本,而且密钥工具越来越多,维护困难。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于脚本的动态密钥网络签发和界面控制方法及系统,支持多客户端并发访问,能应用于多种业务应用场,业务应用场景发生变化时,只需修改服务器端的控制脚本,即可改变签发流程和客户端的界面显示,无需重新开发客户端界面,缩短了产品周期,节省大量的人力成本和时间成本,维护方便。
本发明提供的基于脚本的动态密钥网络签发和界面控制方法及系统,包括以下步骤:
S1、用户启动客户端,客户端显示初始界面,初始界面显示预先设定的包括密钥签发在内的若干功能,用户选择密钥签发功能时,客户端向服务器发送请求,请求显示密钥签发功能列表和各密钥签发功能对应的密钥签发脚本名称;
S2、服务器预先配置以下内容:用于实现各种密钥签发功能的Python脚本、预先设计的界面显示布局编号、服务器配置文件,Python脚本包括按照一定顺序排列的密钥签发界面显示布局编号、密钥签发界面显示的文字内容、向密钥卡发送的指令;服务器配置文件包括密钥签发功能列表界面显示的文字内容和各密钥签发功能对应的脚本名称;服务器收到客户端发来的请求后,查询服务器配置文件,从服务器配置文件中读取密钥签发功能列表的文字内容和各密钥签发功能对应的密钥签发脚本名称,并发给客户端;
S3、客户端将服务器发来的密钥签发功能列表的文字内容显示到密钥签发主界面对应的位置,等待用户的下一步操作,并保存各密钥签发功能对应的密钥签发脚本名称;用户在密钥签发主界面上选择一个密钥签发功能,客户端将用户选择的密钥签发功能对应的密钥签发脚本名称封装成报文,发送到服务器;
S4、服务器解析客户端发来的报文,得到用户选择的密钥签发脚本名称,调用并执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号、该编号对应的密钥签发界面的文字内容、发送给密钥卡的指令;
S5、客户端解析服务器发来的请求报文,得到客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容,并显示在密钥签发界面上;
S6、判断密钥签发界面的文字内容是提示用户输入,还是提示用户插入密钥卡,如果是提示用户输入,则转到步骤S7;如果是提示用户插入密钥卡,则转到步骤S8;
S7、用户在密钥签发界面输入内容,客户端将用户输入的内容封装成响应报文,发送到服务器,转到步骤S9;
S8、用户插入密钥卡,点击密钥签发界面上的发卡按钮,客户端将发卡指令发送给用户插入的密钥卡,密钥卡返回响应给客户端,客户端收到密钥卡的响应后,将密钥卡的响应封装成响应报文,发送到服务器,转到步骤S9;
S9、服务器收到客户端发来的响应报文后,步骤S4中的密钥签发脚本解析该响应报文,得到用户输入的内容或密钥卡的响应,继续执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号、该编号对应的密钥签发界面的文字内容、发送给密钥卡的指令,转到步骤S10;
S10、重复步骤S5~S9,直到脚本执行完成,签发结束;客户端的密钥签发界面显示密钥签发完成,结束。
在上述技术方案中,所述密钥签发功能包括签发主密钥卡、签发主密钥认证卡、签发母卡、签发子卡。
本发明还提供一种基于脚本的动态密钥网络签发和界面控制系统,包括服务器和若干客户端,所述服务器包括网络收发单元和若干脚本执行单元,网络收发单元包括通信模块和若干客户端资源模块,所有脚本执行单元、所有客户端资源模块均与通信模块相连、每个客户端资源模块还与一个客户端相连,客户端通过客户端资源模块和通信模块与脚本执行单元通信;服务器预先配置以下内容:用户实现各种功能的Python脚本、预先设计的界面显示布局编号、服务器配置文件,其中,Python脚本包括按照一定顺序排列的密钥签发界面显示布局编号、密钥签发界面显示的文字内容、向密钥卡发送的指令;服务器配置文件包括密钥签发功能列表界面显示的文字内容和各密钥签发功能对应的脚本名称;
所述客户端,用于:启动时进入初始界面并连接服务器,初始界面显示预先设定的包括密钥签发在内的若干功能,用户选择密钥签发功能时,客户端向服务器发送请求,请求显示密钥签发功能列表和各密钥签发功能对应的密钥签发脚本名称;客户端将服务器发来的密钥签发功能列表的文字内容显示到密钥签发主界面对应的位置,等待用户的下一步操作,并保存各密钥签发功能对应的密钥签发脚本名称;用户在密钥签发主界面上选择一个密钥签发功能后,客户端将用户选择的密钥签发功能对应的密钥签发脚本名称封装成报文,发送到服务器;客户端解析服务器发来的请求报文,得到客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容,并显示在密钥签发界面上;用户在密钥签发界面输入内容后,客户端将用户输入的内容封装成报文,发送到服务器;用户插入密钥卡、点击密钥签发界面上的发卡按钮后,客户端将发卡指令发送给用户插入的密钥卡,收到密钥卡的响应后,将密钥卡的响应封装成报文,发送到服务器;
所述服务器,用于:收到客户端发来的进入密钥签发主界面的请求后,查询服务器配置文件,从服务器配置文件中读取密钥签发功能列表的文字内容和各密钥签发功能对应的密钥签发脚本名称,并发给客户端;解析客户端发来的报文,得到用户选择的密钥签发脚本名称,调用并执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号、该编号对应的密钥签发界面的文字内容、发送给密钥卡的指令;收到客户端发来的响应报文后,密钥签发脚本解析该响应报文,得到用户输入的内容或密钥卡的响应,继续执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号、该编号对应的密钥签发界面的文字内容、发送给密钥卡的指令;
所述脚本执行单元,用于:收到客户端发来的请求后,顺序执行脚本中的内容,在执行脚本的过程中,组装包括密钥签发界面显示的编号、该界面显示的文字内容、向密钥卡发送的指令在内的客户端请求报文,发往通信模块,并暂停该脚本的执行,等待客户端的响应,收到通信模块返回的客户端响应后,激活并继续执行剩下的脚本,直至脚本执行完毕;
所述网络收发单元,用于:监听客户端的连接请求,为连接上的客户端分配一份客户端资源,为已连接的客户端提供网络消息收发功能;
所述通信模块,用于:管理多个客户端资源模块,客户端连接上服务器之后创建新的客户端资源模块;客户端关闭之后释放该客户端对应的资源模块;脚本执行单元和客户端需要通信时,告知客户端资源模块进行网络消息的收发;收到客户端发来的登陆请求后,创建与该客户端对应的客户端资源模块;当收到客户端发来的消息之后,通知客户端资源模块进行网络消息的接收;当收到脚本执行单元发来的消息时,将该消息转发给相应的客户端资源模块,并通知客户端资源模块进行网络消息的发送;判定客户端返回响应消息后,将客户端响应消息转发到脚本执行单元,并激活脚本执行单元继续执行脚本;
所述客户端资源模块,用于:直接与其对应的客户端进行网络通信,接收客户端发送过来的网络信息,解析收到的网络消息,判断消息类型,根据消息类型作出相应处理:如果收到的是客户端请求进入密钥签发主界面的消息,读取服务器配置文件,并将读取的密钥签发功能列表和对应的密钥签发脚本名称组成报文,发送给客户端;如果收到的是带有客户端选择某个密钥签发功能消息的报文,根据报文中的密钥签发脚本名称,启动线程执行相应的脚本执行单元;如果收到的是客户端返回的密钥签发界面上用户输入的内容或者密钥卡返回的响应报文,先缓存该报文,待通信模块激活被暂停的脚本执行单元之后,再通过通信模块将该响应报文发到对应的脚本执行单元;在执行脚本的过程中,收到通信模块发来的更新密钥签发界面的请求或者密钥卡的指令时,将该更新密钥签发界面的请求或者密钥卡的指令转发给客户端。
在上述技术方案中,所述密钥签发功能包括签发主密钥卡、签发主密钥认证卡、签发母卡、签发子卡。
与现有技术相比,本发明的优点如下:
本发明支持多客户端并发访问,预先配置多种客户端界面布局,并将客户端界面布局的文件名称和布局文件保存在服务器,通过Python脚本配置动态控制密钥签发的流程、调用界面显示布局、配置界面显示的文字内容、依据流程动态生成用户界面,将签发流程中通用的功能划分成很小的功能模块,这些模块可以重组、替换以适应多种行业的业务需求,能够应用于多种业务应用场景,一旦业务应用场景和行业应用场景发生变化,只需要修改服务器端的控制脚本,即可改变签发流程和客户端的界面显示,无需重新开发客户端界面,缩短了产品周期,节省大量的人力成本和时间成本,维护方便。
附图说明
图1是本发明实施例中基于脚本的动态密钥网络签发和界面控制方法的流程图。
图2是本发明实施例中基于脚本的动态密钥网络签发和界面控制系统的结构框图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种基于脚本的动态密钥网络签发和界面控制方法,包括以下步骤:
S1、用户启动客户端,客户端显示初始界面,初始界面显示预先设定的包括密钥签发在内的若干功能,用户选择密钥签发功能时,客户端向服务器发送请求,请求显示密钥签发功能列表和各密钥签发功能(例如签发主密钥卡、签发主密钥认证卡、签发母卡、签发子卡)对应的密钥签发脚本名称;
S2、服务器预先配置以下内容:用于实现各种密钥签发功能的Python(一种即译式、互动的、面向对象的编程语言)脚本、预先设计的界面显示布局编号、服务器配置文件,其中,Python脚本包括按照一定顺序排列的密钥签发界面显示布局编号、密钥签发界面显示的文字内容,还可以包括向密钥卡发送的指令;服务器配置文件包括密钥签发功能列表界面显示的文字内容和各密钥签发功能对应的脚本名称;
服务器收到客户端发来的请求后,查询服务器配置文件,从服务器配置文件中读取密钥签发功能列表的文字内容和各密钥签发功能对应的密钥签发脚本名称,并发给客户端;
S3、客户端将服务器发来的密钥签发功能列表的文字内容显示到密钥签发主界面对应的位置,等待用户的下一步操作,并保存各密钥签发功能对应的密钥签发脚本名称;用户在密钥签发主界面上选择一个密钥签发功能,客户端将用户选择的密钥签发功能对应的密钥签发脚本名称封装成报文,发送到服务器;
S4、服务器解析客户端发来的报文,得到用户选择的密钥签发脚本名称,调用并执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容,如果需要完成与密钥卡相关的操作,该请求报文还包括发送给密钥卡的指令;
S5、客户端解析服务器发来的请求报文,得到客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容(即提示用户输入或提示用户插入密钥卡),并显示在密钥签发界面上;
S6、判断密钥签发界面的文字内容是提示用户输入,还是提示用户插入密钥卡,如果是提示用户输入,则转到步骤S7;如果是提示用户插入密钥卡,则转到步骤S8;
S7、用户根据密钥签发界面显示的文字内容,在密钥签发界面输入内容,客户端将用户输入的内容封装成响应报文,发送到服务器,转到步骤S9;
S8、用户根据密钥签发界面显示的文字内容,插入密钥卡,点击密钥签发界面上的发卡按钮,客户端将发卡指令发送给用户插入的密钥卡,密钥卡返回响应给客户端,客户端收到密钥卡的响应后,将密钥卡的响应封装成响应报文,发送到服务器,转到步骤S9;
S9、服务器收到客户端发来的响应报文后,步骤S4中的密钥签发脚本解析该响应报文,得到用户输入的内容或密钥卡的响应,继续执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容,如果需要完成与密钥卡相关的操作,该请求报文还包括发送给密钥卡的指令,转到步骤S10;
S10、重复步骤S5~S9,直到脚本执行完成,签发结束;客户端的密钥签发界面显示密钥签发完成,结束。
参见图2所示,本发明实施例提供的基于脚本的动态密钥网络签发和界面控制系统,包括服务器、客户端1、2……n(n为大于2的正整数)等若干客户端,服务器包括网络收发单元、脚本执行单元1、2……n(n为大于2的正整数)等若干脚本执行单元,网络收发单元包括通信模块、客户端资源模块1、2……n(n为大于2的正整数)等若干客户端资源模块,所有脚本执行单元、所有客户端资源模块均与通信模块相连、每个客户端资源模块还与一个客户端相连,客户端通过客户端资源模块和通信模块与脚本执行单元通信。
服务器预先配置以下内容:用户实现各种功能的Python脚本、预先设计的界面显示布局编号、服务器配置文件,其中,Python脚本包括按照一定顺序排列的密钥签发界面显示布局编号、密钥签发界面显示的文字内容、向密钥卡发送的指令;服务器配置文件包括密钥签发功能列表界面显示的文字内容和各密钥签发功能对应的脚本名称。
客户端,用于:启动时进入初始界面并连接服务器,初始界面显示预先设定的包括密钥签发在内的若干功能,用户选择密钥签发功能时,客户端向服务器发送请求,请求显示密钥签发功能列表和各密钥签发功能(例如签发主密钥卡、签发主密钥认证卡、签发母卡、签发子卡)对应的密钥签发脚本名称;客户端将服务器发来的密钥签发功能列表的文字内容显示到密钥签发主界面对应的位置,等待用户的下一步操作,并保存各密钥签发功能对应的密钥签发脚本名称;用户在密钥签发主界面上选择一个密钥签发功能后,客户端将用户选择的密钥签发功能对应的密钥签发脚本名称封装成报文,发送到服务器;客户端解析服务器发来的请求报文,得到客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容(即提示用户输入或提示用户插入密钥卡),并显示在密钥签发界面上;用户在密钥签发界面输入内容后,客户端将用户输入的内容封装成报文,发送到服务器;用户插入密钥卡、点击密钥签发界面上的发卡按钮后,客户端将发卡指令发送给用户插入的密钥卡,收到密钥卡的响应后,将密钥卡的响应封装成报文,发送到服务器。客户端显示的密钥签发界面布局是事先设计好的,密钥签发界面上的控件和提示等内容根据实际密钥签发脚本中的配置项显示,用户在密钥签发界面上输入的数据以及包括密钥卡的响应,反馈到密钥签发脚本中,为后续密钥签发流程中的参数计算提供数据支持。
服务器,用于:收到客户端发来的进入密钥签发主界面的请求后,查询服务器配置文件,从服务器配置文件中读取密钥签发功能列表的文字内容和各密钥签发功能对应的密钥签发脚本名称,并发给客户端;解析客户端发来的报文,得到用户选择的密钥签发脚本名称,调用并执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容,如果需要完成与密钥卡相关的操作,该请求报文还包括发送给密钥卡的指令;收到客户端发来的响应报文后,密钥签发脚本解析该响应报文,得到用户输入的内容或密钥卡的响应,继续执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容,如果需要完成与密钥卡相关的操作,该请求报文还包括发送给密钥卡的指令。服务器根据具体的业务需求,灵活配置Python脚本,用Python脚本将签发过程中可能用到的每个功能及需要显示的界面串联起来,形成一个完成的签发流程。
脚本执行单元,用于:执行客户端请求的脚本,脚本执行单元收到客户端发来的请求后,顺序执行脚本中的内容,在执行脚本的过程中,当脚本需要客户端响应时,脚本执行单元组装包括密钥签发界面显示的编号、该界面显示的文字内容、向密钥卡发送的指令在内的客户端请求报文,发往通信模块,并暂停该脚本的执行,等待客户端的响应,脚本执行单元接收到客户端返回的响应后,再执行后续的内容,当一个脚本全部执行完成时,该脚本的生命周期结束,脚本退出。
Python脚本在执行过程中与客户端进行交互的情况包括两种:一种情况是通知客户端界面进行更新,客户端通过接收来自服务器的数据,决定显示的界面内容,同时有可能需要用户在界面上输入一定的内容再反馈到服务器;另一种情况是服务器需要发送指令给密钥卡,同时需要得到密钥卡对于该指令的响应。
脚本执行单元在执行过程中,需要多次向客户端发送请求更新界面或者得到密钥卡的响应,当发出了一个请求后,必须阻塞等到客户端的响应到来之后,才能被激活接着往下执行。例如,脚本执行单元发送了一个请求让客户端更新界面,并提示用户输入内容,但是用户是过了2个小时以后才输入内容的,在这两个小时的空闲时间内,服务器的脚本执行单元是阻塞住不做其他事情的,必须要等到2个小时之后,用户输入了内容,客户端将用户的内容发往服务器,脚本执行单元收到了客户端输入的内容,才能被激活接着执行接下来的脚本。
这两种情况下脚本执行单元都要进行阻塞:
第一种情况:脚本执行单元通过调用通信模块来发送请求给客户端,此时通信模块向客户端发送请求并等待客户端的响应,从而导致脚本执行单元在执行过程中暂停,形成阻塞。客户端收到请求后显示界面,并等待用户在客户端界面上做出相应的操作,当用户点击下一步确认按钮时,客户端将这些响应发送给通信模块,通信模块接收到客户端的回复后会激活脚本执行单元继续执行,并把响应内容传回服务器的脚本执行单元,脚本执行单元在接收到了客户端的响应后,重新激活执行接下来的脚本。
第二种情况:服务器发送指令给密钥卡,当用户使用密钥签发功能时,客户端需要连接一个终端,通常是用USB接口连接,终端上插好需要签发密钥的密钥卡,如果脚本执行单元需要下发指令给密钥卡,下发的指令通过通信模块发给客户端,通信模块下发指令后即等待客户端的响应,导致脚本执行单元暂停阻塞,直到收到密钥卡执行的响应后,才激活脚本脚本执行单元并将卡片的响应传回到脚本执行单元,脚本执行单元继续执行下面的操作。
网络收发单元,用于:监听客户端的连接请求,为连接上的客户端分配一份客户端资源,并为所有已连接的客户端提供网络消息收发功能。
通信模块,用于:管理多个客户端资源模块,客户端连接上服务器之后创建新的客户端资源模块;客户端关闭之后释放该客户端对应的资源模块;以及脚本执行单元和客户端需要通信时,告知客户端资源模块进行网络消息的收发;收到客户端发来的登陆请求后,创建与该客户端对应的客户端资源模块;当收到客户端发来的消息之后,通知客户端资源模块进行网络消息的接收;当收到脚本执行单元发来的消息时,将该消息转发给相应的客户端资源模块,并通知客户端资源模块进行网络消息的发送;判定客户端返回响应消息后,将客户端响应消息转发到脚本执行单元,并激活脚本执行单元继续执行脚本。
客户端资源模块,用于:直接与其对应的客户端进行网络通信,收到客户端发送过来的网络信息时,解析收到的网络消息,判断消息类型,根据消息类型作出相应处理:如果收到的是客户端请求进入密钥签发主界面的消息,读取服务器配置文件,并将读取的密钥签发功能列表和对应的密钥签发脚本名称组成报文,发送给客户端;如果收到的是带有客户端选择某个密钥签发功能消息的报文,根据报文中的密钥签发脚本名称,启动线程执行相应的脚本执行单元;如果收到的是客户端返回的密钥签发界面上用户输入的内容或者密钥卡返回的响应报文,先缓存该报文,待通信模块激活被暂停的脚本执行单元之后,再通过通信模块将该响应报文发到对应的脚本执行单元;在执行脚本的过程中,收到通信模块发来的更新密钥签发界面的请求或者密钥卡的指令时,将该更新密钥签发界面的请求或者密钥卡的指令转发给客户端。
本发明实施例能实现多个客户端登陆同时完成密钥签发功能,每一个客户端登陆服务器之后,通信模块会接收客户端的登陆请求并创建一份客户端资源,之后客户端可以选择进入密钥签发主界面,并将该请求发送给服务器;不同的客户端可以同时选择执行不同的密钥签发功能以及相同的密钥签发功能,并将该功能对应的密钥签发脚本名称发给服务器。
本领域的技术人员可以对本发明实施例进行各种修改和变型,倘若这些修改和变型属在本发明权利要求及其等同技术的范围之内,则这些修改和变型也在本发明的保护范围之内。
说明书中未详细描述的内容为本领域技术人员公知的现有技术。
Claims (4)
1.一种基于脚本的动态密钥网络签发和界面控制方法,其特征在于,包括以下步骤:
S1、用户启动客户端,客户端显示初始界面,初始界面显示预先设定的包括密钥签发在内的若干功能,用户选择密钥签发功能时,客户端向服务器发送请求,请求显示密钥签发功能列表和各密钥签发功能对应的密钥签发脚本名称;
S2、服务器预先配置以下内容:用于实现各种密钥签发功能的Python脚本、预先设计的界面显示布局编号、服务器配置文件,Python脚本包括按照一定顺序排列的密钥签发界面显示布局编号、密钥签发界面显示的文字内容、向密钥卡发送的指令;服务器配置文件包括密钥签发功能列表界面显示的文字内容和各密钥签发功能对应的脚本名称;服务器收到客户端发来的请求后,查询服务器配置文件,从服务器配置文件中读取密钥签发功能列表的文字内容和各密钥签发功能对应的密钥签发脚本名称,并发给客户端;
S3、客户端将服务器发来的密钥签发功能列表的文字内容显示到密钥签发主界面对应的位置,等待用户的下一步操作,并保存各密钥签发功能对应的密钥签发脚本名称;用户在密钥签发主界面上选择一个密钥签发功能,客户端将用户选择的密钥签发功能对应的密钥签发脚本名称封装成报文,发送到服务器;
S4、服务器解析客户端发来的报文,得到用户选择的密钥签发脚本名称,调用并执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号、该编号对应的密钥签发界面的文字内容、发送给密钥卡的指令;
S5、客户端解析服务器发来的请求报文,得到客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容,并显示在密钥签发界面上;
S6、判断密钥签发界面的文字内容是提示用户输入,还是提示用户插入密钥卡,如果是提示用户输入,则转到步骤S7;如果是提示用户插入密钥卡,则转到步骤S8;
S7、用户在密钥签发界面输入内容,客户端将用户输入的内容封装成响应报文,发送到服务器,转到步骤S9;
S8、用户插入密钥卡,点击密钥签发界面上的发卡按钮,客户端将发卡指令发送给用户插入的密钥卡,密钥卡返回响应给客户端,客户端收到密钥卡的响应后,将密钥卡的响应封装成响应报文,发送到服务器,转到步骤S9;
S9、服务器收到客户端发来的响应报文后,步骤S4中的密钥签发脚本解析该响应报文,得到用户输入的内容或密钥卡的响应,继续执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号、该编号对应的密钥签发界面的文字内容、发送给密钥卡的指令,转到步骤S10;
S10、重复步骤S5~S9,直到脚本执行完成,签发结束;客户端的密钥签发界面显示密钥签发完成,结束。
2.如权利要求1所述的基于脚本的动态密钥网络签发和界面控制方法,其特征在于:所述密钥签发功能包括签发主密钥卡、签发主密钥认证卡、签发母卡、签发子卡。
3.一种基于脚本的动态密钥网络签发和界面控制系统,包括服务器和若干客户端,其特征在于:所述服务器包括网络收发单元和若干脚本执行单元,网络收发单元包括通信模块和若干客户端资源模块,所有脚本执行单元、所有客户端资源模块均与通信模块相连、每个客户端资源模块还与一个客户端相连,客户端通过客户端资源模块和通信模块与脚本执行单元通信;服务器预先配置以下内容:用户实现各种功能的Python脚本、预先设计的界面显示布局编号、服务器配置文件,其中,Python脚本包括按照一定顺序排列的密钥签发界面显示布局编号、密钥签发界面显示的文字内容、向密钥卡发送的指令;服务器配置文件包括密钥签发功能列表界面显示的文字内容和各密钥签发功能对应的脚本名称;
所述客户端,用于:启动时进入初始界面并连接服务器,初始界面显示预先设定的包括密钥签发在内的若干功能,用户选择密钥签发功能时,客户端向服务器发送请求,请求显示密钥签发功能列表和各密钥签发功能对应的密钥签发脚本名称;客户端将服务器发来的密钥签发功能列表的文字内容显示到密钥签发主界面对应的位置,等待用户的下一步操作,并保存各密钥签发功能对应的密钥签发脚本名称;用户在密钥签发主界面上选择一个密钥签发功能后,客户端将用户选择的密钥签发功能对应的密钥签发脚本名称封装成报文,发送到服务器;客户端解析服务器发来的请求报文,得到客户端密钥签发界面编号和该编号对应的密钥签发界面的文字内容,并显示在密钥签发界面上;用户在密钥签发界面输入内容后,客户端将用户输入的内容封装成报文,发送到服务器;用户插入密钥卡、点击密钥签发界面上的发卡按钮后,客户端将发卡指令发送给用户插入的密钥卡,收到密钥卡的响应后,将密钥卡的响应封装成报文,发送到服务器;
所述服务器,用于:收到客户端发来的进入密钥签发主界面的请求后,查询服务器配置文件,从服务器配置文件中读取密钥签发功能列表的文字内容和各密钥签发功能对应的密钥签发脚本名称,并发给客户端;解析客户端发来的报文,得到用户选择的密钥签发脚本名称,调用并执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号、该编号对应的密钥签发界面的文字内容、发送给密钥卡的指令;收到客户端发来的响应报文后,密钥签发脚本解析该响应报文,得到用户输入的内容或密钥卡的响应,继续执行该密钥签发脚本,该密钥签发脚本拼装请求报文,发送给客户端,该请求报文包括客户端密钥签发界面编号、该编号对应的密钥签发界面的文字内容、发送给密钥卡的指令;
所述脚本执行单元,用于:收到客户端发来的请求后,顺序执行脚本中的内容,在执行脚本的过程中,组装包括密钥签发界面显示的编号、该界面显示的文字内容、向密钥卡发送的指令在内的客户端请求报文,发往通信模块,并暂停该脚本的执行,等待客户端的响应,收到通信模块返回的客户端响应后,激活并继续执行剩下的脚本,直至脚本执行完毕;
所述网络收发单元,用于:监听客户端的连接请求,为连接上的客户端分配一份客户端资源,为已连接的客户端提供网络消息收发功能;
所述通信模块,用于:管理多个客户端资源模块,客户端连接上服务器之后创建新的客户端资源模块;客户端关闭之后释放该客户端对应的资源模块;脚本执行单元和客户端需要通信时,告知客户端资源模块进行网络消息的收发;收到客户端发来的登陆请求后,创建与该客户端对应的客户端资源模块;当收到客户端发来的消息之后,通知客户端资源模块进行网络消息的接收;当收到脚本执行单元发来的消息时,将该消息转发给相应的客户端资源模块,并通知客户端资源模块进行网络消息的发送;判定客户端返回响应消息后,将客户端响应消息转发到脚本执行单元,并激活脚本执行单元继续执行脚本;
所述客户端资源模块,用于:直接与其对应的客户端进行网络通信,接收客户端发送过来的网络信息,解析收到的网络消息,判断消息类型,根据消息类型作出相应处理:如果收到的是客户端请求进入密钥签发主界面的消息,读取服务器配置文件,并将读取的密钥签发功能列表和对应的密钥签发脚本名称组成报文,发送给客户端;如果收到的是带有客户端选择某个密钥签发功能消息的报文,根据报文中的密钥签发脚本名称,启动线程执行相应的脚本执行单元;如果收到的是客户端返回的密钥签发界面上用户输入的内容或者密钥卡返回的响应报文,先缓存该报文,待通信模块激活被暂停的脚本执行单元之后,再通过通信模块将该响应报文发到对应的脚本执行单元;在执行脚本的过程中,收到通信模块发来的更新密钥签发界面的请求或者密钥卡的指令时,将该更新密钥签发界面的请求或者密钥卡的指令转发给客户端。
4.如权利要求3所述的基于脚本的动态密钥网络签发和界面控制系统,其特征在于:所述密钥签发功能包括签发主密钥卡、签发主密钥认证卡、签发母卡、签发子卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210574485.6A CN103067173B (zh) | 2012-12-26 | 2012-12-26 | 基于脚本的动态密钥网络签发和界面控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210574485.6A CN103067173B (zh) | 2012-12-26 | 2012-12-26 | 基于脚本的动态密钥网络签发和界面控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103067173A CN103067173A (zh) | 2013-04-24 |
CN103067173B true CN103067173B (zh) | 2015-02-25 |
Family
ID=48109644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210574485.6A Active CN103067173B (zh) | 2012-12-26 | 2012-12-26 | 基于脚本的动态密钥网络签发和界面控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103067173B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9349142B2 (en) * | 2013-10-09 | 2016-05-24 | Ebay Inc. | Reflow of data presentation using tracking data |
CN104202331B (zh) * | 2014-09-15 | 2018-01-02 | 北京奇虎科技有限公司 | 客户端功能的生成方法和装置 |
CN110287070B (zh) * | 2019-05-21 | 2024-03-19 | 平安银行股份有限公司 | Esb专用协议接口测试方法、服务器及计算机可读存储介质 |
CN110321155B (zh) * | 2019-06-27 | 2024-01-19 | 北京金山安全软件有限公司 | 批量配置应用的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1340788A (zh) * | 2000-09-01 | 2002-03-20 | 索尼公司 | 信息处理系统和方法、电子货币服务提供系统及记录媒体 |
CN101039182A (zh) * | 2007-03-07 | 2007-09-19 | 广东南方信息安全产业基地有限公司 | 认证系统及用户标识证书发放方法 |
CN101136743A (zh) * | 2006-08-31 | 2008-03-05 | 普天信息技术研究院 | 一种数字证书更新方法及系统 |
CN101729244A (zh) * | 2008-10-24 | 2010-06-09 | 中兴通讯股份有限公司 | 密钥分发方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7958349B2 (en) * | 2007-08-30 | 2011-06-07 | Red Hat, Inc. | Method for revoking a digital signature |
-
2012
- 2012-12-26 CN CN201210574485.6A patent/CN103067173B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1340788A (zh) * | 2000-09-01 | 2002-03-20 | 索尼公司 | 信息处理系统和方法、电子货币服务提供系统及记录媒体 |
CN101136743A (zh) * | 2006-08-31 | 2008-03-05 | 普天信息技术研究院 | 一种数字证书更新方法及系统 |
CN101039182A (zh) * | 2007-03-07 | 2007-09-19 | 广东南方信息安全产业基地有限公司 | 认证系统及用户标识证书发放方法 |
CN101729244A (zh) * | 2008-10-24 | 2010-06-09 | 中兴通讯股份有限公司 | 密钥分发方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于软算法的数字证书签发系统的设计;何焕民等;《计算机安全 2009年》;20090731(第7期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103067173A (zh) | 2013-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11615651B2 (en) | Remote automobile diagnostic method and apparatus, mobile terminal, electronic device and server | |
TWI757743B (zh) | 小程式產生方法以及裝置 | |
EP3355517A1 (en) | Service and resource orchestration system, method and device | |
CN103067173B (zh) | 基于脚本的动态密钥网络签发和界面控制方法及系统 | |
TW201035889A (en) | Interface module, system and method | |
CN103944742A (zh) | 一种信息推送方法、在线支付方法和pos机 | |
CN105354025A (zh) | 基于移动应用的业务模型配置系统和方法 | |
CN110750222A (zh) | 打印方法、装置、计算机设备和存储介质 | |
US10719844B2 (en) | Service processing method, terminal and server | |
CN101976199A (zh) | 面向对象的中间件分布式系统开发平台 | |
CN103092599A (zh) | 软件开发套件 | |
CN109725617A (zh) | 一种工业组态平台的构建方法、构建系统及相关装置 | |
CN109857575A (zh) | 接口调用方法、装置、电子设备及存储介质 | |
KR102066802B1 (ko) | 업무 프로세싱 방법 및 디바이스 | |
CN103562859A (zh) | 应用激活框架 | |
CN109727139A (zh) | 保险套餐订制方法、装置、设备及可读存储介质 | |
US20170154299A1 (en) | Task management method, terminal, and non-transitory computer-readable information recording medium | |
US10725744B2 (en) | Method for adapting to blockchain and device, terminal and medium performing the same | |
CN110865943A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN108984318B (zh) | 基于驱动模型的消息投递方法、装置及可读存储介质 | |
CN114546683A (zh) | 业务处理方法、装置、电子设备和存储介质 | |
CN110751455B (zh) | 一种联名业务处理方法及装置 | |
CN111813434A (zh) | 一种基于微服务的前端开发系统及方法 | |
CN112487323A (zh) | 网页实验方法及服务器 | |
CN111752621A (zh) | 具有共享外围设备控制机的网页销售管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |