CN106506672B - 浏览器智能密钥盘的无组件访问方法 - Google Patents

浏览器智能密钥盘的无组件访问方法 Download PDF

Info

Publication number
CN106506672B
CN106506672B CN201611053427.3A CN201611053427A CN106506672B CN 106506672 B CN106506672 B CN 106506672B CN 201611053427 A CN201611053427 A CN 201611053427A CN 106506672 B CN106506672 B CN 106506672B
Authority
CN
China
Prior art keywords
key disk
component
browser
agreement
jscom
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
Application number
CN201611053427.3A
Other languages
English (en)
Other versions
CN106506672A (zh
Inventor
姜新华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi Jinge Technology Co ltd
Original Assignee
Jiangxi Jinge Polytron Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangxi Jinge Polytron Technologies Inc filed Critical Jiangxi Jinge Polytron Technologies Inc
Priority to CN201611053427.3A priority Critical patent/CN106506672B/zh
Publication of CN106506672A publication Critical patent/CN106506672A/zh
Application granted granted Critical
Publication of CN106506672B publication Critical patent/CN106506672B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种浏览器智能密钥盘的无组件访问方法,将密钥盘访问功能封装在密钥盘组件中,浏览器通过JavaScript发送JSCOM协议的内容到基于HTTP协议的组件服务程序,基于HTTP协议的组件服务程序解析JSCOM协议且按照浏览器的要求访问密钥盘组件。采用JS+HTTP+本机应用程序的方式访问电子密钥组件,支持所有浏览器,无需为适配浏览器另行编写插件,可实现自定义JSCOM协议,JSCOM协议可灵活运用,并封装组件的创建、调用方法和属性,能适配于任何组件;其接口简单,易于集成到应用***,且协议可扩展到更多应用场景。

Description

浏览器智能密钥盘的无组件访问方法
技术领域
本发明属于信息安全技术,尤其涉及一种浏览器智能密钥盘的无组件访问方法。
背景技术
基于ActiveX技术的组件多年来一直是浏览器访问电子密钥盘的强大解决方案,浏览器或者浏览器通过浏览器插件创建密钥盘组件,再通过JavaScript使用密钥盘组件访问电子密钥盘。
但随着越来越多个性化浏览器的出现和流行,同时网页组件技术长期以来存在安全性的问题,使得越来越多的浏览器决定放弃直接加载网页组件,各浏览器的插件技术虽然可以提供强大的桌面应用程序功能,但对每种功能为每个浏览器都开发一个插件会导致大量冗余工作量。出于安全性考虑,越来越多浏览器将不再支持网页内的组件嵌入,这意味着大量传统网页中间件产品,包括电子密钥盘中间件,将不再被新版浏览器支持。
术语解释:
智能密钥盘:一种内置操作***可存放数据的安全硬件设备。
浏览器:显示网站服务器或文件***内的文件,并让用户与此文件交互的一种软件。
HTTP协议:超文本传输协议是互联网上应用最为广泛的一种网络传输协议。
发明内容
本发明的目的是提供一种统一的适配所有浏览器的多浏览器无组件***,具有强大桌面应用程序功能的解决方案,以代替密钥盘组件和浏览器插件技术,为浏览器与密钥盘组件之间搭起一座桥梁,使得浏览器无需加载密钥盘组件,即可通过JavaScript使用密钥盘组件(ActiveX)的功能。
本发明通过以下技术方案实现上述目的。浏览器智能密钥盘的无组件访问方法,将密钥盘访问功能封装在密钥盘组件中,浏览器通过JavaScript发送JSCOM协议的内容到基于HTTP协议的组件服务程序,基于HTTP协议的组件服务程序解析JSCOM协议且按照浏览器的要求访问密钥盘组件;所述密钥盘组件通过密钥盘驱动程序实现密钥盘存取功能,所述组件服务程序负责密钥盘组件;
所述组件服务程序的工作流程如下:
1)浏览器作为客户端发起GetSealInfo功能要求,浏览器通过JavaScript先把GetSealInfo功能要求按照JSCOM协议规范打包,再通过HTTP发送到组件服务程序;
2)组件服务程序解析收到的HTTP数据包;
3)根据解析的内容,创建密钥盘组件对象,如果对象已创建,则不再创建;
4)调用密钥盘组件对象的GetSealInfo方法获取***信息;
5)密钥盘组件对象通过密钥盘驱动程序找到密钥盘里的***信息;
6)把***信息返回回传给浏览器。
优选地,所述密钥盘组件封装为业务功能接口。
优选地,所述业务功能包括:制作***、删除***、查询***信息和***验证。
优选地,所述密钥盘组件包括创建组件对象、调用接口方法和调用接口属性。
本发明多浏览器无组件方式访问智能密钥盘是基于JavaScript和http网络通信技术,由于JavaScript和http网络通信被所有浏览器默认支持,所以它可以实现不论何种浏览器,不需要编写浏览器插件,不论浏览器是否支持网页组件,都可以使浏览器访问智能电子密钥盘组件。多浏览器无组件***由组件http服务器程序(Server)和前台浏览器应用程序(Browser)组成。Browser通过JavaScript请求Server服务,Server服务实质是执行相应的组件功能。
本发明采用JS+HTTP+本机应用程序的方式访问电子密钥组件,支持所有浏览器,无需为适配浏览器另行编写插件,可实现自定义JSCOM协议,JSCOM协议可灵活运用,并封装组件的创建、调用方法和属性,能适配于任何组件;其接口简单,易于集成到应用***,且协议可扩展到更多应用场景。
附图说明
图1是本发明的***结构框图;
图2是组件服务程序和密钥盘组件关系图;
图3是组件服务程序工作流程图。
具体实施方式
以下结合附图和实施例对本发明作进一步说明。参见图1至图3,浏览器智能密钥盘的无组件访问方法,将密钥盘4访问功能封装在密钥盘组件3中,浏览器1通过JavaScript发送JSCOM协议5的内容到基于HTTP协议的组件服务程序2,基于HTTP协议的组件服务程序2解析JSCOM协议5且按照浏览器1的要求访问密钥盘组件3;所述密钥盘组件3通过密钥盘驱动程序6实现密钥盘4存取功能,所述组件服务程序2负责密钥盘组件3;
所述组件服务程序2的工作流程如下:
1)浏览器1作为客户端发起GetSealInfo功能要求,浏览器1通过JavaScript先把GetSealInfo功能要求按照JSCOM协议5规范打包,再通过HTTP发送到组件服务程序2;
2)组件服务程序2解析收到的HTTP数据包;
3)根据解析的内容,创建密钥盘组件3对象,如果对象已创建,则不再创建;
4)调用密钥盘组件3对象的GetSealInfo方法获取***信息;
5)密钥盘组件3对象通过密钥盘驱动程序6找到密钥盘4里的***信息;
6)把***信息返回回传给浏览器1。
所述密钥盘组件3封装为业务功能接口。所述业务功能包括:制作***、删除***、查询***信息和***验证。所述密钥盘组件3包括创建组件对象31、调用接口方法32和调用接口属性33。
图1是本发明的***结构框图。在现有的浏览器+组件的技术基础上,本发明提出了浏览器+组件服务的另一种访问密钥盘4的方法。密钥盘组件3可保持与现有组件一致(如图1所示),组件服务程序2是本发明的技术核心,如图1所示,组件服务程序2是浏览器1和密钥盘组件3之间的桥梁,它的存在避免了浏览器1和密钥盘组件3直接连接存在的种种弊端。
组件服务程序2与密钥盘组件3的关系,及其工作流程如图2、图3所示。浏览器1通过JavaScript与组件服务程序2交互;浏览器1使用JavaScript代码把调用密钥盘组件3的意图用JSCOM协议5封装后通过HTTP协议发起获取***信息请求(GetSealInfo)301发送到组件服务程序2;组件服务程序2使用JSCOM协议解析器302解析出JSCOM协议5的内容的意图是调用密钥盘组件3的GetSealInfo方法,根据JSCOM协议5的内容,首先判断密钥盘组件是否已创建303:如果没有,则创建组件COM对象31,即把密钥盘组件加载进内存创建组件对象304;如果已创建,则根据JSCOM协议5内容的意图,调用密钥盘组件3的调用接口方法32或/和调用接口属性33,即调用密钥盘组件3的GetSealInfo方法305,最后返回结果306至浏览器发起获取***信息请求301。
JSCOM协议5是一个描述对密钥盘组件3发起一次命令或功能调用的协议。例如,可以描述要求使用智能密钥盘组件3的获取***信息(GetSealInfo)301功能。JSCOM协议5本质是JSON格式字符串,以下是JSCOM协议5详细说明:
(1)组件创建:
创建密钥盘组件3并获取某接口内存地址。特性:密钥盘组件3实际是由组件服务程序2创建,并驻留在组件服务程序2的进程里。JSCOM协议5的密钥盘组件3创建协议如下:
“GetInterface”51是协议关键字(后简称关键字),表示浏览器1要求得到密钥盘组件3的某接口;“progid”52、“interface”54是关键字,分别表示密钥盘组件3的CLASSID和接口的GUID在JSON格式中的名称,“B85036A9-DAAF-409B-822D-22B56CE32825” 53、“B4813745-79B9-4336-8D646F4099561ACC” 55分别是密钥盘组件3的CLASSID和接口GUID在JSON格式中的值对。
(2)组件方法调用:
调用密钥盘组件3的接口的方法。用HTTP GET方式调用接口地址为(示例中是12345678)的接口上的方法。特性:网页脚本发送命令给服务端程序,服务端程序代为调用密钥盘组件3的方法,并回传方法的返回值。JSCOM协议5的密钥盘组件3接口方法调用协议如下:
“MethodCall”60是关键字,表示浏览器要求调用密钥盘组件的某接口上的方法;“caller” 61是关键字,表示接口内存地址在JSON格式中的名称,62是接口内存地址在JSON格式中的值对;“function ”63是关键字,表示接口的方法名在JSON格式中的名称,“hello”64是接口的方法名在JSON格式中的值对;params 65是关键字,表示接口方法的参数在JSON格式中的名称,“type”66、“BSTR”67、“value”68、“this is a string”69是接口方法的参数(后简称参数)在JSON格式中的值对,其中“type”66是关键字,表示参数的类型在JSON格式中的名称,“BSTR”67表示参数类型在JSON格式中的值对,“value”68是关键字,表示参数值在JSON格式中的名称,“this is a string”69表示参数值在JSON格式中的值对;如果方法有多个参数,可以按照JSON格式规范,对“params”65的值对进行扩展。
(3)属性调用:
设置或读取密钥盘组件3的属性,用HTTP GET方式获取接口地址为(示例中是12345678)的接口上的属性值。特性:网页脚本发送命令给服务端程序,服务端程序代为设置或读取密钥盘组件3的属性。JSCOM协议5的密钥盘组件3接口属性调用协议如下:
“PropertyCall”71是关键字,表示浏览器1要求调用密钥盘组件3的某接口上的属性;“caller”72是关键字,表示接口内存地址在JSON格式中的名称,“12345678”73是接口内存地址在JSON格式中的值对;“property”74是关键字,表示接口的属性名在JSON格式中的名称,“PropName”75是接口的属性名在JSON格式中的值对。
(4)属性和方法的返回值:
调用密钥盘组件3的接口方法或属性后得到的返回值。特性:网页脚本发送命令给服务端程序,服务端程序调用接口的方法后或读取密钥盘组件3的属性后得到的返回值。JSCOM协议5的密钥盘组件3返回值协议如下:
“type”81是关键字,表示返回值类型在JSON格式中的名称,“LONG”82是返回值类型在JSON格式中的值对;“value”83是关键字,表示返回值的值在JSON格式中的名称,“100”84是返回值的值在JSON格式中的值对。
实施例:以下介绍本发明的一个较佳实施案例:
电子签章平台应用多浏览器无组件***。由于签章key的相关操作是硬件驱动层的功能,网页JavaScript无法单独完成,在没有多浏览器无组件***时,网页需要加载封装了驱动层功能的组件,这将造成部分浏览器的不支持。通过多浏览器无组件***访问***级程序, 网页可以不加载密钥盘组件3,从而消除了浏览器1和密钥盘组件3的相关性,实现了所有浏览器对***级程序的支持。
本发明的组件服务程序2,用于管理智能密钥盘组件3接口,制定前台浏览器1的JavaScript调用时的访问协议(JSCOM协议5),并依此协议提供密钥盘组件3的方法和属性访问;定义一套基本的接口方法、属性访问的协议;定义了密钥盘组件3的创建和接口查询的方式;定义了根据密钥盘组件3某接口的内存地址调用接口方法;定义了根据密钥盘组件3某接口的内存地址设置和获取接口属性值;定义了调用接口方法和属性获得的返回值。浏览器1通过JavaScript于运行在本机的组件服务程序2通过HTTP协议通信,组件服务程序2是为HTTP服务端,本机域名固定为localhost或127.0.0.1;当浏览器1需要使用密钥设备的一些功能时,例如查询密钥设备里存储的***信息,浏览器1的JavaScript会向已在本机后台运行的组件服务程序2发送JSCOM协议5的创建密钥盘组件3指令,组件服务程序2收到指令后把密钥盘组件3加载进内存,并且把密钥盘组件3的接口地址以JSCOM返回值格式返回给浏览器1;浏览器1再给组件服务程序2发送调用接口方法即查询***信息的指令,组件服务程序2调用内存中的密钥盘组件3查询密钥设备中的***信息后以JSCOM返回值格式返回给浏览器1。

Claims (4)

1.浏览器智能密钥盘的无组件访问方法,其特征在于,将密钥盘访问功能封装在密钥盘组件中,浏览器通过JavaScript发送JSCOM协议的内容到基于HTTP协议的组件服务程序,基于HTTP协议的组件服务程序解析JSCOM协议且按照浏览器的要求访问密钥盘组件;所述密钥盘组件通过密钥盘驱动程序实现密钥盘存取功能,所述组件服务程序负责密钥盘组件;
所述组件服务程序的工作流程如下:
1)浏览器作为客户端发起GetSealInfo功能要求,浏览器通过JavaScript先把GetSealInfo功能要求按照JSCOM协议规范打包,再通过HTTP发送到组件服务程序;
2)组件服务程序解析收到的HTTP数据包;
3)根据解析的内容,创建密钥盘组件对象,如果对象已创建,则不再创建;
4)调用密钥盘组件对象的GetSealInfo方法获取***信息;
5)密钥盘组件对象通过密钥盘驱动程序找到密钥盘里的***信息;
6)把***信息返回回传给浏览器;
所述JSCOM协议是一个描述对密钥盘组件发起一次命令或功能调用的协议,描述要求使用智能密钥盘组件的获取***信息功能,JSCOM协议本质是JSON格式字符串,并封装组件的创建、调用方法和属性。
2.根据权利要求1所述的浏览器智能密钥盘的无组件访问方法,其特征在于,所述密钥盘组件封装为业务功能接口。
3.根据权利要求2所述的浏览器智能密钥盘的无组件访问方法,其特征在于,所述业务功能包括:制作***、删除***、查询***信息和***验证。
4.根据权利要求1所述的浏览器智能密钥盘的无组件访问方法,其特征在于,所述密钥盘组件包括创建组件对象、调用接口方法和调用接口属性。
CN201611053427.3A 2016-11-25 2016-11-25 浏览器智能密钥盘的无组件访问方法 Active CN106506672B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611053427.3A CN106506672B (zh) 2016-11-25 2016-11-25 浏览器智能密钥盘的无组件访问方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611053427.3A CN106506672B (zh) 2016-11-25 2016-11-25 浏览器智能密钥盘的无组件访问方法

Publications (2)

Publication Number Publication Date
CN106506672A CN106506672A (zh) 2017-03-15
CN106506672B true CN106506672B (zh) 2019-10-08

Family

ID=58328849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611053427.3A Active CN106506672B (zh) 2016-11-25 2016-11-25 浏览器智能密钥盘的无组件访问方法

Country Status (1)

Country Link
CN (1) CN106506672B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107317867B (zh) * 2017-07-03 2021-04-06 飞天诚信科技股份有限公司 一种通过网页脚本访问智能密钥设备的方法及***
CN107729164A (zh) * 2017-10-11 2018-02-23 江西金格科技股份有限公司 基于进程间通信技术访问智能密钥盘的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6691176B1 (en) * 1999-11-04 2004-02-10 Microsoft Corporation Method for managing client services across browser pages
US8209408B1 (en) * 2006-05-01 2012-06-26 Vmware, Inc. Multiple virtual machine consoles in a single interface
CN101246565A (zh) * 2007-07-31 2008-08-20 北京科翰软件有限公司 网页电子签章中间件***
CN101321209B (zh) * 2008-06-19 2011-11-16 上海软中信息技术有限公司 基于pstn的安全通信分布式数据提取方法及实现***
US8938465B2 (en) * 2008-09-10 2015-01-20 Samsung Electronics Co., Ltd. Method and system for utilizing packaged content sources to identify and provide information based on contextual information
US9772831B2 (en) * 2010-04-26 2017-09-26 Pivotal Software, Inc. Droplet execution engine for dynamic server application deployment
CN105302564B (zh) * 2015-11-09 2018-08-31 中国人民解放军91655部队 网络办公软件服务控件及实现方法

Also Published As

Publication number Publication date
CN106506672A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
EP2183721B1 (en) Secure inter-module communication mechanism
US6757708B1 (en) Caching dynamic content
US8073810B2 (en) Shared view of customers across business support systems (BSS) and a service delivery platform (SDP)
US7571208B2 (en) Creating proxies from service description metadata at runtime
US8423527B2 (en) Enabling interactive integration of network-accessible applications in a content aggregation framework
US9684628B2 (en) Mechanism for inserting trustworthy parameters into AJAX via server-side proxy
US9143378B2 (en) Rendering components within different browser environments
US20080077851A1 (en) Method and apparatus for inserting jsr 168 portlet content into a j2ee java server page
IL156525A (en) Method and system for answering information queries from a network customer
CN101266623A (zh) 一种页面跳转的方法和***
US7783751B2 (en) Communication system, proxy server, method of controlling same and control program therefor
CN102868719A (zh) 一种基于缓存的网络访问方法和服务器
WO2001077909A2 (en) Web portholes: using web proxies to capture and enhance display real estate
CN106897336A (zh) 网页文件发送方法、网页渲染方法及装置、网页渲染***
CN104391868A (zh) 动态页面静态化的装置和方法
US20090198828A1 (en) Web page data streaming
CN104572099B (zh) 基于组件和中间件的低耦合框架数据处理方法及***
US20140245124A1 (en) System and method thereof for browser agnostic extension models
CN106506672B (zh) 浏览器智能密钥盘的无组件访问方法
CN104123143A (zh) 用户控件加载***及方法
US20100083078A1 (en) Proxy server, and method and program for controlling same
US20070283281A1 (en) Portlet Communication Arrangements, Portlet Containers, Methods of Communicating Between Portlets, and Methods of Managing Portlet Communication Arrangements Within a Portal
US7890487B1 (en) Facilitating client-side data-management for web-based applications
CN102984179A (zh) 一种面向云计算操作***进行Web服务跨域访问的方法
US20060168102A1 (en) Cooperation between web applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 330096 15th floor, lvyue science and technology building, 579 torch street, high tech Zone, Nanchang City, Jiangxi Province

Patentee after: Jiangxi Jinge Technology Co.,Ltd.

Address before: 330096 15th floor, lvyue science and technology building, 579 torch street, high tech Zone, Nanchang City, Jiangxi Province

Patentee before: JIANGXI KINGGRID TECHNOLOGY CO.,LTD.