一种实现电子印章的方法

文档序号:6487493阅读:183来源:国知局
一种实现电子印章的方法
【专利摘要】本发明提供一种实现电子印章的方法,具体为:在独立的文档处理软件和印章处理软件之间设置交互的接口,当需要对文档盖章时,由所述印章处理软件对包括文档的数据进行电子签名,获得电子签名结果;所述电子签名结果、文档的印章数据和文档数据一并保存,实现电子印章盖章;当需要打印或显示经过盖章的文档时,由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章。应用本发明方案,由于文档处理软件和印章处理软件彼此独立,可以在无须对文档处理软件进行任何改动的前提下为其增加电子印章功能。
【专利说明】一种实现电子印章的方法
【技术领域】
[0001]本发明涉及加密技术,特别是涉及一种实现电子印章的方法。
【背景技术】
[0002]电子印章技术采用先进的数字加密技术来模拟传统实物印章,其管理和使用方式符合人们的习惯,已得到越来越广泛的应用。
[0003]电子印章技术的基本思想是:将包括文档的数据采用数字签名的方式进行保护。之后,当需要显示或打印经过盖章的文档时,需要对该文档进行验证,即验证该文档是否被篡改,验证通过后,才显示或打印文档中所盖的印章。这样,用户就可以看到一份带有印章的文档,其视觉效果和实物相似。
[0004]目前,实现电子印章技术的软件非常多,但对文档进行管理的部分和对印章进行管理的部分都是绑定在一起的。绑定的文档管理软件和印章管理软件之间需要复杂的软、硬件接口以及交互机制,使用不灵活。比如:为某一类文档格式而开发的印章管理软件如果需要支持另一类文档格式,则必须重新设计软、硬件接口以及交互机制,这不但将增加开发人员的工作量,浪费资源,同时也阻碍了电子印章技术的推广和使用。

【发明内容】

[0005]有鉴于此,本发明的主要目的在于提供一种实现电子印章的方法,文档处理软件和印章处理软件彼此独立,在无须对文档处理软件进行任何改动的前提下为其增加电子印章功能,从而减少开发人员的工作量,节约资源。
[0006]为了达到上述目的,本发明提出的技术方案为:
[0007]一种实现电子印章的方法,在独立的文档处理软件和印章处理软件之间设置交互的接口后,该方法还包括:
[0008]当需要对文档盖章时,由所述印章处理软件对包括文档的数据进行电子签名,获得电子签名结果;所述电子签名结果、文档的印章数据和文档数据一并保存,实现电子印章
皿早;
[0009]当需要打印或显示经过盖章的文档时,由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章。
[0010]上述方案中,当所述验证电子签名有效时,所述打印或显示的印章为所述印章数据对应的印章图像。
[0011]上述方案中,当所述验证电子签名无效时,所述印章处理软件打印或显示印章的方法为:
[0012]印章处理软件以事先设置的表示文档无效的方式打印或显示。
[0013]上述方案中,所述电子签名的方法为:
[0014]计算待签名数据的散列值,再利用私钥对散列值进行加密;或者,
[0015]先分割待签名数据,对每一个分割部分计算散列值,然后利用私钥对各散列值一并进行加密;或者,
[0016]先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列值再次计算散列值,然后利用私钥对再次计算出来的散列值进行加密。
[0017]上述方案中,所述电子签名的方法为:
[0018]计算待签名数据的正则化结果的散列值,再利用私钥对散列值进行加密。
[0019]上述方案中,所述正则化的方法为:抽取待签名数据的主要特征。
[0020]上述方案中,所述文档处理软件和印章处理软件之间的交互接口为:
[0021]对象连接与嵌套OLE、组件对象模型COM、OCX控件、非结构化操作标记语言U0ML、微软 Office 宏或者 Adobe PDF SDK。
[0022]上述方案中,所述印章处理软件为文档处理软件的插件。
[0023]上述方案中,当需要打印或显示经过盖章的文档时,所述由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章的方法具体为:
[0024]所述文档处理软件打开经过盖章的文档,印章处理软件通过所述交互接口获得所述印章数据、电子签名结果和文档数据,并根据所述印章数据、电子签名结果和文档数据对电子签名进行验证;所述文档处理软件打印或显示所述文档数据,并通过所述交互接口通知所述印章处理软件打印或显示印章。
[0025]上述方案中,所述文档处理软件为电子印章处理软件的插件。
[0026]上述方案中,当需要打印或显示经过盖章的文档时,所述由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章的方法具体为:
[0027]所述印章处理软件打开经过盖章的文档,获得所述印章数据、电子签名结果和文档数据,所述文档处理软件通过所述交互接口获得所述文档数据;所述印章处理软件根据印章数据、电子签名结果和文档数据对电子签名进行验证,打印或显示所述印章,并通过所述交互接口通知文档处理软件打印或显示所述文档数据。
[0028]综上所述,本发明提出的一种实现电子印章的方法,在独立的文档处理软件和印章处理软件之间设置交互的接口,由印章处理软件负责盖章、显示或打印印章部分,由文档软件负责显示或打印文档部分。由于文档处理软件和印章处理软件彼此独立,在无须对文档处理软件进行任何改动的前提下为其增加电子印章功能,从而减少软件开发人员的工作量,节约资源,有利于电子印章技术的推广和使用。
【专利附图】

【附图说明】
[0029]图1是实施例一中实现电子印章盖章的流程图;
[0030]图2是实施例一中实现打印或显示的流程图;
[0031]图3是实施例二中实现电子印章盖章的流程图;
【具体实施方式】
[0032]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。
[0033]本发明的基本思想是:在独立的文档处理软件和印章处理软件之间设置交互的接口,当需要对文档盖章时,由所述印章处理软件对包括文档的数据进行电子签名,获得电子签名结果,所述电子签名结果、文档的印章数据和文档数据一并保存,实现电子印章盖章;当需要打印或显示经过盖章的文档时,由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章。
[0034]本发明中,由于文档处理软件和印章处理软件是彼此独立的,并没有象现有技术一样绑定在一起,在实际应用中,可以将印章处理软件作为文档处理软件的插件,也可以将文档处理软件作为印章处理软件的插件。
[0035]文档处理软件和印章处理软件之间的交互接口可以为:对象连接与嵌套(OLE)、组件对象模型(COM)、OCX控件、非结构化操作标记语言(U0ML)、微软Office宏或者AdobePDF SDK等。不管文档处理软件和印章处理软件之间的交互接口的方式如何,都不应该作为限制本发明的条件,都在本发明的保护范围之内。
[0036]下面分别以印章处理软件作为文档处理软件的插件,以及文档处理软件作为印章处理软件的插件为例来详细说明本发明方案。
[0037]图1是实施例一中实现用电子印章盖章的流程图。本实施例中,印章处理软件为文档处理软件的插件,并通过接口进行交互。
[0038]如图1所示,当需要对文档进行盖章时,该方法包括以下步骤:
[0039]步骤101:文档处理软件将包括文档的数据通过接口传给印章处理软件;
[0040]步骤102:印章处理软件对包括文档的数据进行电子签名,获得电子签名结果,并将电子签名结果通过接口返回给文档处理软件;
[0041 ] 本步骤所述的对包括文档的数据进行电子签名,不仅可以对文档数据本身签名,还可以对时间戳等数据一并进行签名,至于实际应用中签名的具体对象则可以由应用本发明方案的用户自行确定,此处不再赘述。
[0042]实际应用中,电子签名的方法可以为:
[0043]先计算待签名数据的散列值,再利用私钥对散列值进行加密;或者,
[0044]先分割待签名数据,对每一个分割部分计算散列值,然后利用私钥对各散列值一并进行加密;或者,
[0045]先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列值再次计算散列值,然后利用私钥对再次计算出来的散列值进行加密。
[0046]电子签名的方法还可以为:计算待签名数据的正则化结果的散列值,再利用私钥对散列值进行加密。这里所述对待签名数据进行正则化可以是抽取待签名数据的主要特征。比如:文档类型为word文档,就可以抽取word文档中所有的文字信息,这里的所述的文字信息就是主要特征,而其它的信息则不作处理。当然,实际应用中,也可以用现有技术其它正则化方法,此处不再赘述。
[0047]另外,本步骤可以具体采用私钥进行签名。一个印章数据可以与一个智能卡对应,所述智能卡内保存有一对公钥和私钥。其中,所述私钥是由智能卡内的芯片运算而成,并且由智能卡的硬件特性保证私钥数据不可复制和不可读出,本步骤所述签名可以是在智能卡内部利用智能卡的私钥进行的运算。
[0048]这里所述公钥是后续打开文档时用来验证签名的,可以随意的复制和读出。也就是说,经过盖章后,被保护的文档中包含保证其安全性的签名结果,如果该文档经过篡改,就无法利用公钥得到正确的验签结果,即不能通过签名验证,也将不能正确显示印章。[0049]当然,实际应用中,也可以采用其它的方式进行电子签名和验证签名,只要可以保护文档即可。
[0050]步骤103:文档处理软件将返回的电子签名结果、印章数据和文档数据一并保存在文档中,实现电子印章盖章。
[0051]本步骤保存在文档中的印章数据只有公钥,而没有事先用来签名的私钥。
[0052]图2是实施例一中打印或显示经过盖章的文档的流程图。如图2所示,本实施例可以包括以下步骤:
[0053]步骤201:文档处理软件打开经过盖章的文档;
[0054]步骤202:文档处理软件将文档中保存的电子签名结果、印章数据和文档数据通过接口传给印章处理软件;
[0055]步骤203:印章处理软件根据所述电子签名结果、印章数据和文档数据对电子签名进行验证;
[0056]本步骤中,印章处理软件将针对盖章时的电子签名的方法来实现验证。如果电子签名的方法为:计算待签名数据的散列值,再利用私钥对散列值进行加密。那么,对应的验证方法为:计算已签名数据的散列值,再利用公钥对散列值进行验证。
[0057]如果电子签名的方法为:先分割待签名数据,对每一个分割部分计算散列值,然后利用私钥对各散列值一并进行加密。那么,对应的验证方法为:先分割已签名数据,对每一个分割部分计算散列值,然后利用公钥对各散列值进行验证。
[0058]如果电子签名的方法为:先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列值再次计算散列值,然后利用私钥对再次计算出来的散列值进行加密。那么,对应的验证方法为:先分割已签名数据,对每一个分割部分计算散列值,对计算出的各散列值再次计算散列值,然后利用公钥对再次计算出来的散列值进行验证。
[0059]如果电子签名的方法为:计算待签名数据的正则化结果的散列值,再利用私钥对散列值进行加密。那么,对应的验证方法为:计算已签名数据的正则化结果的散列值,再利用公钥对散列值进行验证。
[0060]步骤204:文档处理软件打印或显示所述文档数据,并通过接口通知印章处理软件打印或显示印章。
[0061]本步骤中,印章处理软件打印或显示印章的情况通常分为两种情况:第一种情况是验证电子签名有效,印章处理软件打印或显示的印章为印章数据对应的印章图像,比如有“XX公司”字样的图像,与实物印章相同;第二种情况是验证电子签名无效,即验证没有通过,印章处理软件可以以事先设置的表示文档无效的方式打印或显示。比如:印章处理软件可以打印或显示某个表示文档无效的图像;可以打印或显示在原来印章图像上叠加“叉”的图像;也可以打印或显示在原来印章图像上叠加“无效”等字样的图像。
[0062]实际应用中,也可以用其它方法来打印或显示印章,只要可以准确表示文档有效或无效即可。当然,如果验证无效,还可以不打印或显示任何图像。具体如何实施,可以由应用本发明方案的用户确定,此处不再一一列举。
[0063]本实施例中,文档处理软件为主体软件,印章处理软件为插件。如果采用OLE机制,则文档处理软件为OLE客户端,印章处理软件为OLE服务器,交互接口为OLE接口。当需要盖章时,印章部分可以作为OLE数据嵌入到文档中;当需要打印或显示时,文档处理软件可以启动OLE服务器,由OLE服务器来处理印章部分。
[0064]如果采用COM机制,则印章处理软件为COM组件,可以为文档处理软件提供组件ID、属性和方法。当需要盖章时,印章部分包含能处理自身的COM组件的ID,并嵌入到文档中;当需要打印或显示时,根据COM组件的ID来创建COM组件的实例,并通过访问该组件的属性、方法等来处理印章部分。
[0065]如果采用OCX机制,则印章处理软件为OCX控件,其原理与COM机制基本相似,只是还可以用于网页上的盖章和验证等功能。
[0066]如果采用UOML机制,印章数据的存储和解析等可以由UOML底层完成,文档处理软件则直接调用UOML插件实现盖章;当需要打印或显示时,文档处理软件利用UOML来完成印章数据的解析和呈现。
[0067]图3是实施例二中实现用电子印章盖章的流程图。本实施例中,文档处理软件为印章处理软件的插件,并通过接口进行交互。
[0068]如图3所示,当需要对文档进行盖章时,该方法包括以下步骤:
[0069]步骤301:印章处理软件直接对包括文档的数据进行电子签名,获得电子签名结果;
[0070]本实施例中,印章处理软件是主体,在打开文档时,可以直接从文档中获得包括文档的数据,不需要通过接口来获得。
[0071]在印章处理软件进行电子签名时,文档处理软件也可以显示文档数据,以便于用户直观地了解需要签名的文档数据。
[0072]与实施例一相同,本步骤所述的电子签名,不仅可以对文档数据本身签名,还可以对时间戳等数据一并进行签名,此处不再赘述。
[0073]与实施例一相同,本步骤所述电子签名的方法可以为:先计算待签名数据的散列值,再利用私钥对散列值进行加密;或者,先分割待签名数据,对每一个分割部分计算散列值,然后利用私钥对各散列值一并进行加密;或者,先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列值再次计算散列值,然后利用私钥对再次计算出来的散列值进行加密;或者,计算待签名数据的正则化结果的散列值,再利用私钥对散列值进行加密。目抽取出来作为主要特征。
[0074]可以具体采用私钥进行签名。一个印章数据可以与一个智能卡对应,所述智能卡内保存有一对公钥和私钥。其中,所述私钥是由智能卡内的芯片运算而成,并且由智能卡的硬件特性保证私钥数据不可复制和不可读出,本步骤所述签名可以是在智能卡内部利用智能卡的私钥进行的运算。
[0075]这里所述公钥是后续打开文档时用来验证签名的,可以复制和读出。也就是说,经过盖章后,被保护的文档中包含保证其安全性的签名结果,如果该文档经过篡改,就无法利用公钥得到正确的验签结果,即不能通过签名验证,也将不能正确显示印章。
[0076]当然,实际应用中,也可以采用其它的方式进行电子签名和验证签名,只要可以保护文档即可。
[0077]步骤302:印章处理软件将电子签名结果、印章数据和文档数据一并保存,实现电
子印章盖章。
[0078]与实施例一相同,本步骤保存在文档中的印章数据也只有公钥,而没有事先用来签名的私钥。
[0079]与实施例一相似,本步骤中,印章处理软件打印或显示印章的情况也分为两种情况:第一种情况是验证电子签名有效,印章处理软件打印或显示的印章为印章数据对应的印章图像;第二种情况是验证电子签名无效,即验证没有通过,印章处理软件可以以事先设置的表示文档无效的方式打印或显示。
[0080]不管是实施例一还是实施例二,由于文档处理软件和印章处理软件是独立的,分别对文档部分和印章部分进行处理,在显示过程中,可能文档处理软件先将文档数据呈现给用户,印章处理软件后将印章图像呈现给用户;也可能印章处理软件先将印章图像呈现给用户,文档处理软件后将文档数据呈现给用户;还可能是文档处理软件先将文档部分数据呈现给用户,印章处理软件再将印章图像呈现给用户,然后文档处理软件将剩余文档数据呈现给用户。总之,文档处理软件和印章处理软件在分别对文档部分和印章部分进行处理时,并没有严格的顺序,具体由实际情况确定,此处不再赘述。
[0081]本实施例中,印章处理软件为主体软件,文档处理软件为插件。如果采用OLE机制,则印章处理软件为OLE客户端,文档处理软件为OLE服务器,交互接口为OLE接口。当需要盖章时,文档数据可以作为OLE数据嵌入到印章数据中;当需要打印或显示时,印章处理软件可以启动OLE服务器,由OLE服务器来处理文档部分。
[0082]如果采用COM机制,则文档处理软件作为COM组件,可以为印章处理软件提供组件ID、属性和方法。当需要盖章时,文档部分包含能处理自身的COM组件的ID,并嵌入到印章数据中;当需要打印或显示时,根据COM组件的ID来创建COM组件的实例,并通过访问该组件的属性、方法等来处理文档部分。
[0083]如果采用OCX机制,则文档处理软件为OCX控件,其原理与COM机制基本相似,只是还可以用于网页上的显示和编辑文档等功能。
[0084]如果采用UOML机制,文档数据的存储和解析等可以由UOML底层完成,印章处理软件则直接调用UOML插件实现盖章;当需要打印或显示时,印章处理软件利用UOML来完成文档数据的解析和呈现。
[0085]应用本发明方案,文档处理软件和印章处理软件彼此独立,可以在无须对文档处理软件进行任何改动的前提下为其增加电子印章功能。另外,独立的印章处理软件可以很方便地移植到其它文档处理软件中,无需重新设计软、硬件接口以及交互机制,从而大大减少开发人员的工作量,节约资源,有利于电子印章技术的推广和使用。
[0086]综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种实现电子印章的方法,其特征在于,在独立的文档处理软件和印章处理软件之间设置交互的接口后,该方法还包括: 当需要对文档盖章时,由所述印章处理软件对包括文档的数据进行电子签名,获得电子签名结果;所述电子签名结果、文档的印章数据和文档数据一并保存,实现电子印章盖.1V.早; 当需要打印或显示经过盖章的文档时,由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章。
2.根据权利要求1所述的方法,其特征在于,当所述验证电子签名有效时,所述打印或显示的印章为所述印章数据对应的印章图像。
3.根据权利要求1所述的方法,其特征在于,当所述验证电子签名无效时,所述印章处理软件打印或显示印章的方法为: 印章处理软件以事先设置的表示文档无效的方式打印或显示。
4.根据权利要求1所述的方法,其特征在于,所述电子签名的方法为: 计算待签名数据的散列值,再利用私钥对散列值进行加密;或者, 先分割待签名数据,对每一个分割部分计算散列值,然后利用私钥对各散列值一并进行加密;或者, 先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列值再次计算散列值,然后利用私钥对再次计算出来的散列值进行加密。
5.根据权利要求1所述的方法,其特征在于,所述电子签名的方法为: 计算待签名数据的正则化结果的散列值,再利用私钥对散列值进行加密。
6.根据权利要求5所述的方法,其特征在于,所述正则化的方法为:抽取待签名数据的主要特征。
7.根据权利要求1所述的方法,其特征在于,所述文档处理软件和印章处理软件之间的交互接口为: 对象连接与嵌套OLE、组件对象模型COM、OCX控件、非结构化操作标记语言U0ML、微软Office 宏或者 Adobe PDF SDK。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述印章处理软件为文档处理软件的插件。
9.根据权利要求8所述的方法,其特征在于,当需要打印或显示经过盖章的文档时,所述由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章的方法具体为: 所述文档处理软件打开经过盖章的文档,印章处理软件通过所述交互接口获得所述印章数据、电子签名结果和文档数据,并根据所述印章数据、电子签名结果和文档数据对电子签名进行验证;所述文档处理软件打印或显示所述文档数据,并通过所述交互接口通知所述印章处理软件打印或显示印章。
10.根据权利要求1至7任一项所述的方法,其特征在于,所述文档处理软件为电子印章处理软件的插件。
【文档编号】G06Q10/10GK103577968SQ201210270425
【公开日】2014年2月12日 申请日期:2012年7月31日 优先权日:2012年7月31日
【发明者】王东临 申请人:天津书生软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1