一种实现电子印章的方法

文档序号:6573400阅读:287来源:国知局
专利名称:一种实现电子印章的方法
技术领域
本发明涉及加密技术,特别是涉及一种实现电子印章的方法。
技术背景电子印章技术采用先进的数字加密技术来模拟传统实物印章,其管理和 使用方式符合人们的习惯,已得到越来越广泛的应用。电子印章技术的基本思想是将包括文档的数据采用数字签名的方式进 行保护。之后,当需要显示或打印经过盖章的文档时,需要对该文档进行验 证,即验证该文档是否被篡改,验证通过后,才显示或打印文档中所盖的印 章。这样,用户就可以看到一份带有印章的文档,其视觉效果和实物相似。目前,实现电子印章技术的软件非常多,但对文档进行管理的部分和对 印章进行管理的部分都是绑定在一起的。绑定的文档管理软件和印章管理软 件之间需要复杂的软、硬件接口以及交互机制,使用不灵活。比如为某一 类文档格式而开发的印章管理软件如果需要支持另一类文档格式,则必须重 新设计软、硬件接口以及交互机制,这不但将增加开发人员的工作量,浪费 资源,同时也阻碍了电子印章技术的推广和使用。发明内容有鉴于此,本发明的主要目的在于提供一种实现电子印章的方法,文档 处理软件和印章处理软件彼此独立,在无须对文档处理软件进行任何改动的 前提下为其增加电子印章功能,从而减少开发人员的工作量,节约资源。为了达到上述目的,本发明提出的技术方案为一种实现电子印章的方法,在独立的文档处理软件和印章处理软件之间设 置交互的接口后,该方法还包括当需要对文档盖章时,由所述印章处理软件对包括文档的数据进行电子签名,获得电子签名结果;所述电子签名结果、文档的印章数据和文档数据一并 保存,实现电子印章盖章;当需要打印或显示经过盖章的文档时,由文档处理软件打印或显示文档数 据,由印章处理软件在验证电子签名后打印或显示印章。上述方案中,当所述验证电子签名有效时,所述打印或显示的印章为所述 印章数据对应的印章图像。上述方案中,当所述验证电子签名无效时,所述印章处理软件打印或显示 印章的方法为印章处理软件以事先设置的表示文档无效的方式打印或显示。 上述方案中,所述电子签名的方法为计算待签名数据的散列值,再利用私钥对散列值进行加密;或者,先分割待签名数据,对每一个分割部分计算散列值,然后利用私钥对各散 列值一并进行加密;或者,先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列值 再次计算散列值,然后利用私钥对再次计算出来的散列值进行加密。上述方案中,所述电子签名的方法为计算待签名数据的正则化结果的散列值,再利用私钥对散列值进行加密。 上述方案中,所述正则化的方法为抽取待签名数据的主要特征。 上述方案中,所述文档处理软件和印章处理软件之间的交互接口为 对象连接与嵌套OLE、组件对象模型COM、 OCX控件、非结构化操作标记语言UOML、微软O伍ce宏或者Adobe PDF SDK。上述方案中,所述印章处理软件为文档处理软件的插件。上述方案中,当需要打印或显示经过盖章的文档时,所述由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章的方法具体为所述文档处理软件打开经过盖章的文档,印章处理软件通过所述交互接口获得所述印章数据、电子签名结果和文档数据,并根据所述印章数据、电子签 名结果和文档数据对电子签名进行验证;所述文档处理软件打印或显示所述文 档数据,并通过所述交互接口通知所述印章处理软件打印或显示印章。 上述方案中,所述文档处理软件为电子印章处理软件的插件。 上述方案中,当需要打印或显示经过盖章的文档时,所述由文档处理软件 打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章的方法具体为所述印章处理软件打开经过盖章的文档,获得所述印章数据、电子签名结果 和文档数据,所述文档处理软件通过所述交互接口获得所述文档数据;所述 印章处理软件根据印章数据、电子签名结果和文档数据对电子签名进行验 证,打印或显示所述印章,并通过所述交互接口通知文档处理软件打印或显 示所述文档数据。综上所述,本发明提出的一种实现电子印章的方法,在独立的文档处理 软件和印章处理软件之间设置交互的接口,由印章处理软件负责盖章、显示 或打印印章部分,由文档软件负责显示或打印文档部分。由于文档处理软件 和印章处理软件彼此独立,在无须对文档处理软件进行任何改动的前提下为 其增加电子印章功能,从而减少软件开发人员的工作量,节约资源,有利于 电子印章技术的推广和使用。


图1是实施例一中实现电子印章盖章的流程图; 图2是实施例一中实现打印或显示的流程图; 图3是实施例二中实现电子印章盖章的流程图; 图4是实施例二中实现打印或显示的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。本发明的基本思想是在独立的文档处理软件和印章处理软件之间设置 交互的接口,当需要对文档盖章时,由所述印章处理软件对包括文档的数据 进行电子签名,获得电子签名结果,所述电子签名结果、文档的印章数据和文档数据一并保存,实现电子印章盖章;当需要打印或显示经过盖章的文档时,由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名 后打印或显示印章。本发明中,由于文档处理软件和印章处理软件是彼此独立的,并没有象 现有技术一样绑定在一起,在实际应用中,可以将印章处理软件作为文档处 理软件的插件,也可以将文档处理软件作为印章处理软件的插件。文档处理软件和印章处理软件之间的交互接口可以为对象连接与嵌套 (OLE)、组件对象模型(COM) 、 OCX控件、非结构化操作标记语言 (UOML)、微软Office宏或者Adobe PDF SDK等。不管文档处理软件和 印章处理软件之间的交互接口的方式如何,都不应该作为限制本发明的条 件,都在本发明的保护范围之内。下面分别以印章处理软件作为文档处理软件的插件,以及文档处理软件 作为印章处理软件的插件为例来详细说明本发明方案。图1是实施例一中实现用电子印章盖章的流程图。本实施例中,印章处 理软件为文档处理软件的插件,并通过接口进行交互。如图l所示,当需要对文档进行盖章时,该方法包括以下步骤步骤101:文档处理软件将包括文档的数据通过接口传给印章处理软件;步骤102:印章处理软件对包括文档的数据进行电子签名,获得电子签 名结果,并将电子签名结果通过接口返回给文档处理软件;本步骤所述的对包括文档的数据进行电子签名,不仅可以对文档数据本 身签名,还可以对时间戳等数据一并进行签名,至于实际应用中签名的具体 对象则可以由应用本发明方案的用户自行确定,此处不再赘述。实际应用中,电子签名的方法可以为先计算待签名数据的散列值,再利用私钥对散列值进行加密;或者,先分割待签名数据,对每一个分割部分计算散列值,然后利用私钥对各散列值一并进行加密;或者,先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列 值再次计算散列值,然后利用私钥对再次计算出来的散列值进行加密。电子签名的方法还可以为计算待签名数据的正则化结果的散列值,再 利用私钥对散列值进行加密。这里所述对待签名数据进行正则化可以是抽取 待签名数据的主要特征。比如文档类型为word文档,就可以抽取word 文档中所有的文字信息,这里的所述的文字信息就是主要特征,而其它的信 息则不作处理。当然,实际应用中,也可以用现有技术其它正则化方法,此 处不再赘述。另外,本步骤可以具体采用私钥进行签名。 一个印章数据可以与一个智 能卡对应,所述智能卡内保存有一对公钥和私钥。其中,所述私钥是由智能 卡内的芯片运算而成,并且由智能卡的硬件特性保证私钥数据不可复制和不 可读出,本步骤所述签名可以是在智能卡内部利用智能卡的私钥进行的运算。这里所述公钥是后续打开文档时用来验证签名的,可以随意的复制和读 出。也就是说,经过盖章后,被保护的文档中包含保证其安全性的签名结果, 如果该文档经过篡改,就无法利用公钥得到正确的验签结果,即不能通过签 名验证,也将不能正确显示印章。当然,实际应用中,也可以采用其它的方式进行电子签名和验证签名, 只要可以保护文档即可。步骤103:文档处理软件将返回的电子签名结果、印章数据和文档数据 一并保存在文档中,实现电子印章盖章。本步骤保存在文档中的印章数据只有公钥,而没有事先用来签名的私钥。图2是实施例一中打印或显示经过盖章的文档的流程图。如图2所示,本实施例可以包括以下步骤步骤201:文档处理软件打开经过盖章的文档;步骤202:文档处理软件将文档中保存的电子签名结果、印章数据和文 档数据通过接口传给印章处理软件;步骤203:印章处理软件根据所述电子签名结果、印章数据和文档数据 对电子签名进行验证;本步骤中,印章处理软件将针对盖章时的电子签名的方法来实现验证。 如果电子签名的方法为计算待签名数据的散列值,再利用私钥对散列值进 行加密。那么,对应的验证方法为.'计算已签名数据的散列值,再利用公钥 对散列值进行验证。如果电子签名的方法为先分割待签名数据,对每一个分割部分计算散 列值,然后利用私钥对各散列值一并进行加密。那么,对应的验证方法为 先分割已签名数据,对每一个分割部分计算散列值,然后利用公钥对各散列 值进行验证。如果电子签名的方法为先分割待签名数据,对每一个分割部分计算散 列值,对计算出的各散列值再次计算散列值,然后利用私钥对再次计算出来 的散列值进行加密。那么,对应的验证方法为先分割已签名数据,对每一 个分割部分计算散列值,对计算出的各散列值再次计算散列值,然后利用公钥对再次计算出来的散列值进行验证。如果电子签名的方法为计算待签名数据的正则化结果的散列值,再利 用私钥对散列值进行加密。那么,对应的验证方法为计算已签名数据的正 则化结果的散列值,再利用公钥对散列值进行验证。步骤204:文档处理软件打印或显示所述文档数据,并通过接口通知印 章处理软件打印或显示印章。本步骤中,印章处理软件打印或显示印章的情况通常分为两种情况第 一种情况是验证电子签名有效,印章处理软件打印或显示的印章为印章数据 对应的印章图像,比如有"XX公司"字样的图像,与实物印章相同;第二种情况是验证电子签名无效,即验证没有通过,印章处理软件可以以事先设置的表示文档无效的方式打印或显示。比如印章处理软件可以打印或显示 某个表示文档无效的图像;可以打印或显示在原来印章图像上叠加"叉,,的 图像;也可以打印或显示在原来印章图像上叠加"无效"等字样的图像。实际应用中,也可以用其它方法来打印或显示印章,只要可以准确表示 文档有效或无效即可。当然,如杲验证无效,还可以不打印或显示任何图像。 具体如何实施,可以由应用本发明方案的用户确定,此处不再——列举。本实施例中,文档处理软件为主体软件,印章处理软件为插件。如果采 用OLE机制,则文档处理软件为OLE客户端,印章处理软件为OLE服务 器,交互接口为OLE接口。当需要盖章时,印章部分可以作为OLE数据嵌 入到文档中;当需要打印或显示时,文档处理软件可以启动OLE服务器, 由OLE服务器来处理印章部分。如果采用COM机制,则印章处理软件为COM组件,可以为文档处理 软件提供组件ID、属性和方法。当需要盖章时,印章部分包含能处理自身 的COM组件的ID,并嵌入到文档中;当需要打印或显示时,根据COM组 件的ID来创建COM组件的实例,并通过访问该组件的属性、方法等来处 理印章部分。如果采用OCX机制,则印章处理软件为OCX控件,其原理与COM机 制基本相似,只是还可以用于网页上的盖章和验证等功能。如果采用UOML机制,印章数据的存储和解析等可以由UOML底层完 成,文档处理软件则直接调用UOML插件实现盖章;当需要打印或显示时, 文档处理软件利用UOML来完成印章数据的解析和呈现。图3是实施例二中实现用电子印章盖章的流程图。本实施例中,文档处 理软件为印章处理软件的插件,并通过接口进行交互。如图3所示,当需要对文档进行盖章时,该方法包括以下步骤步骤301:印章处理软件直接对包括文档的数据进行电子签名,获得电 子签名结果;本实施例中,印章处理软件是主体,在打开文档时,可以直接从文档中 获得包括文档的数据,不需要通过接口来获得。在印章处理软件进行电子签名时,文档处理软件也可以显示文档数据, 以便于用户直观地了解需要签名的文档数据。与实施例一相同,本步骤所述的电子签名,不仅可以对文档数据本身签 名,还可以对时间戳等数据一并进行签名,此处不再赘述。与实施例一相同,本步骤所述电子签名的方法可以为先计算待签名数据的散列值,再利用私钥对散列值进行加密;或者,先分割待签名数据,对 每一个分割部分计算散列值,然后利用私钥对各散列值一并进行加密;或者, 先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列值再 次计算散列值,然后利用私钥对再次计算出来的散列值进行加密;或者,计 算待签名数据的正则化结果的散列值,再利用私钥对散列值进行加密。目抽 取出来作为主要特征。可以具体采用私钥进行签名。 一个印章数据可以与一个智能卡对应,所 述智能卡内保存有一对公钥和私钥。其中,所述私钥是由智能卡内的芯片运 算而成,并且由智能卡的硬件特性保证私钥数据不可复制和不可读出,本步 骤所述签名可以是在智能卡内部利用智能卡的私钥进行的运算。这里所述公钥是后续打开文档时用来验证签名的,可以复制和读出。也 就是说,经过盖章后,被保护的文档中包含保证其安全性的签名结果,如果 该文档经过篡改,就无法利用公钥得到正确的验签结果,即不能通过签名验 证,也将不能正确显示印章。当然,实际应用中,也可以采用其它的方式进行电子签名和验证签名,只要可以保护文档即可。步骤302:印章处理软件将电子签名结果、印章数据和文档数据一并保 存,实现电子印章盖章。与实施例一相同,本步骤保存在文档中的印章数据也只有公钥,而没有 事先用来签名的私钥。图4是实施例二中打印或显示经过盖章的文档的流程图。如图4所示,本实施例可以包括以下步骤步骤401:印章处理软件打开经过盖章的文档,获得电子签名结果、印章数据和文档数据;步骤402:印章处理软件通过交互接口将文档数据传给文档处理软件; 步骤403:印章处理软件根据印章数据、电子签名结果和文档数据对电子签名进行验证;本步骤所述对电子签名进行验证的方法与实施例一的步骤203相同,此 处不再赘述。步骤404:印章处理软件打印或显示所述印章,并通过交互接口通知文 档处理软件打印或显示所述文档数据。与实施例一相似,本步骤中,印章处理软件打印或显示印章的情况也分 为两种情况第一种情况是验证电子签名有效,印章处理软件打印或显示的 印章为印章数据对应的印章图像;第二种情况是验证电子签名无效,即验证 没有通过,印章处理软件可以以事先设置的表示文档无效的方式打印或显 示。不管是实施例 一还是实施例二 ,由于文档处理软件和印章处理软件是独 立的,分别对文档部分和印章部分进行处理,在显示过程中,可能文档处理软件先将文档数据呈现给用户,印章处理软件后将印章图像呈现给用户;也 可能印章处理软件先将印章图像呈现给用户,文档处理软件后将文档数据呈 现给用户;还可能是文档处理软件先将文档部分数据呈现给用户,印章处理 软件再将印章图像呈现给用户,然后文档处理软件将剩余文档数据呈现给用 户。总之,文档处理软件和印章处理软件在分别对文档部分和印章部分进行 处理时,并没有严格的顺序,具体由实际情况确定,此处不再赘述。本实施例中,印章处理软件为主体软件,文档处理软件为插件。如果采 用OLE机制,则印章处理软件为OLE客户端,文档处理软件为OLE服务 器,交互接口为OLE接口。当需要盖章时,文档数据可以作为OLE数据嵌入到印章数据中;当需要打印或显示时,印章处理软件可以启动OLE服务 器,由OLE服务器来处理文档部分。如果采用COM机制,则文档处理软件作为COM组件,可以为印章处 理软件提供组件ID、属性和方法。当需要盖章时,文档部分包含能处理自 身的COM组件的ID,并嵌入到印章数据中;当需要打印或显示时,根据 COM组件的ID来创建COM组件的实例,并通过访问该组件的属性、方法 等来处理文档部分。如果采用OCX机制,则文档处理软件为OCX控件,其原理与COM机 制基本相似,只是还可以用于网页上的显示和编辑文档等功能。如果采用UOML机制,文档数据的存储和解析等可以由UOML底层完 成,印章处理软件则直接调用UOML插件实现盖章;当需要打印或显示时, 印章处理软件利用UOML来完成文档数据的解析和呈现。应用本发明方案,文档处理软件和印章处理软件彼此独立,可以在无须 对文档处理软件进行任何改动的前提下为其增加电子印章功能。另外,独立 的印章处理软件可以很方便地移植到其它文档处理软件中,无需重新设计 软、硬件接口以及交互机制,从而大大减少开发人员的工作量,节约资源, 有利于电子印章技术的推广和使用。综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的 保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改 进等,均应包含在本发明的保护范围之内。
权利要求
1. 一种实现电子印章的方法,其特征在于,在独立的文档处理软件和印章处理软件之间设置交互的接口后,该方法还包括当需要对文档盖章时,由所述印章处理软件对包括文档的数据进行电子签名,获得电子签名结果;所述电子签名结果、文档的印章数据和文档数据一并保存,实现电子印章盖章;当需要打印或显示经过盖章的文档时,由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章。
2、 根据权利要求1所述的方法,其特征在于,当所述验证电子签名有效时, 所述打印或显示的印章为所述印章数据对应的印章图像。
3、 根据权利要求1所述的方法,其特征在于,当所述验证电子签名无效时, 所述印章处理软件打印或显示印章的方法为印章处理软件以事先设置的表示文档无效的方式打印或显示。
4、 根据权利要求1所述的方法,其特征在于,所述电子签名的方法为 计算待签名数据的散列值,再利用私钥对散列值进行加密;或者, 先分割待签名数据,对每一个分割部分计算散列值,然后利用私钥对各散列值一并进行加密;或者,先分割待签名数据,对每一个分割部分计算散列值,对计算出的各散列值 再次计算散列值,然后利用私钥对再次计算出来的散列值进行加密。
5、 根据权利要求1所述的方法,其特征在于,所述电子签名的方法为 计算待签名数据的正则化结果的散列值,再利用私钥对散列值进行加密。
6、 根据权利要求5所述的方法,其特征在于,所述正则化的方法为抽取 待签名数据的主要特征。
7、 根据权利要求1所述的方法,其特征在于,所述文档处理软件和印章处 理软件之间的交互4妾口为对象连接与嵌套OLE、组件对象模型COM、 OCX控件、非结构化操作标记语言UOML、微软O伍ce宏或者Adobe PDF SDK。
8、 根据权利要求1至7任一项所述的方法,其特征在于,所述印章处理软 件为文档处理软件的插件。
9、 根据权利要求8所述的方法,其特征在于,当需要打印或显示经过盖章 的文档时,所述由文档处理软件打印或显示文档数据,由印章处理软件在验证 电子签名后打印或显示印章的方法具体为所述文档处理软件打开经过盖章的文档,印章处理软件通过所述交互接口 获得所述印章数据、电子签名结果和文档数据,并根据所述印章数据、电子签 名结果和文档数据对电子签名进行验证;所述文档处理软件打印或显示所述文 档数据,并通过所述交互接口通知所述印章处理软件打印或显示印章。
10、 根据权利要求1至7任一项所述的方法,其特征在于,所述文档处理 软件为电子印章处理软件的插件。
11、 根据权利要求IO所述的方法,其特征在于,当需要打印或显示经过盖 章的文档时,所述由文档处理软件打印或显示文档数据,由印章处理软件在验 证电子签名后打印或显示印章的方法具体为所述印章处理软件打开经过盖章的文档,获得所述印章数据、电子签名结 果和文档数据,所述文档处理软件通过所述交互接口获得所述文档数据;所述 印章处理软件根据印章数据、电子签名结果和文档数据对电子签名进行验证, 打印或显示所述印章,并通过所述交互接口通知文档处理软件打印或显示所述 文档数据。
全文摘要
本发明提供一种实现电子印章的方法,具体为在独立的文档处理软件和印章处理软件之间设置交互的接口,当需要对文档盖章时,由所述印章处理软件对包括文档的数据进行电子签名,获得电子签名结果;所述电子签名结果、文档的印章数据和文档数据一并保存,实现电子印章盖章;当需要打印或显示经过盖章的文档时,由文档处理软件打印或显示文档数据,由印章处理软件在验证电子签名后打印或显示印章。应用本发明方案,由于文档处理软件和印章处理软件彼此独立,可以在无须对文档处理软件进行任何改动的前提下为其增加电子印章功能。
文档编号G06Q10/00GK101276440SQ20071006478
公开日2008年10月1日 申请日期2007年3月26日 优先权日2007年3月26日
发明者刘宁胜, 王东临 申请人:北京书生国际信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1