CN111552927A - 一种ofd文档数字签名方法及*** - Google Patents

一种ofd文档数字签名方法及*** Download PDF

Info

Publication number
CN111552927A
CN111552927A CN202010329733.5A CN202010329733A CN111552927A CN 111552927 A CN111552927 A CN 111552927A CN 202010329733 A CN202010329733 A CN 202010329733A CN 111552927 A CN111552927 A CN 111552927A
Authority
CN
China
Prior art keywords
signature
ofd document
ofd
signature information
document
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.)
Pending
Application number
CN202010329733.5A
Other languages
English (en)
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.)
Shanghai Genyan Network Technology Co ltd
Original Assignee
Shanghai Genyan Network Technology Co ltd
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 Shanghai Genyan Network Technology Co ltd filed Critical Shanghai Genyan Network Technology Co ltd
Priority to CN202010329733.5A priority Critical patent/CN111552927A/zh
Publication of CN111552927A publication Critical patent/CN111552927A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种OFD文档数字签名方法及***,能够支持使用国密算法进行签名的OFD文档。本发明实施例方法包括:获取待签名的OFD文档;对所述OFD文档分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;将所述第一签名信息和所述第二签名信息存储于所述OFD文档的签名结构中,以完成签名。

Description

一种OFD文档数字签名方法及***
技术领域
本发明涉及OFD电子签章领域,特别涉及一种OFD文档数字签名方法及***。
背景技术
国产密码算法(国密算法)是我国自主研制实现的密码算法,具有较高的安全性,由国家密码管理局认可和推广。在国家重点行业中采用国产密码算法,已逐渐成为一种趋势,有助于实现核心技术的自主可控。现有的OFD文档阅读器基于RSA算法进行电子文件的签名及验证,但对于国密算法进行签名的OFD文档无法识别。
发明内容
本发明实施例提供了一种OFD文档数字签名方法,能够支持使用国密算法进行签名的OFD文档。
为解决上述技术问题,本申请第一方面提供一种OFD文档数字签名方法,所述OFD文档数字签名方法包括:
获取待签名的OFD文档;
对所述OFD文档分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;
基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;
将所述第一签名信息和所述第二签名信息存储于所述OFD文档的签名结构中,以完成签名。
可选的,所述将所述第一签名信息和所述第二签名信息存储于所述OFD文档的签名结构中之后,还包括:
对已完成签名的所述OFD文档进行验证。
可选的,所述对已完成签名的所述OFD文档进行验证,包括:
对所述OFD文档进行解压,得到XML文件;
解析所述XML文件,得到解析数据;
将所述解析数据与所述第一签名信息和所述第二签名信息进行比较,以验证签名的有效性。
可选的,所述方法还包括:
解析所述OFD文档,得到所述OFD文档源数据;
基于所述OFD文档源数据生成所述签名结构;
在所述签名结构中增加用于存储所述第二签名信息的字段。
本申请第二方面提供一种OFD文档数字签名***,所述OFD文档数字签名***包括:
获取单元,用于获取待签名的OFD文档;
计算单元,用于对所述OFD文档分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;
签名单元,用于基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;
存储单元,用于将所述第一签名信息和所述第二签名存储于所述OFD文档的签名结构中,以完成签名。
可选的,所述***还包括:
验证单元,用于对已完成签名的所述OFD文档进行验证。
可选的,所述验证单元,具体用于对所述OFD文档进行解压,得到XML文件;解析所述XML文件,得到解析数据;将所述解析数据与所述第一签名信息和所述第二签名信息进行比较,以验证签名的有效性。
可选的,所述***还包括:
解析单元,用于解析所述OFD文档,得到所述OFD文档源数据;
生成单元,用于基于所述OFD文档源数据生成所述签名结构;
增删单元,用于在所述签名结构中增加用于存储所述第二签名信息的字段。
本申请第三方面提供一种OFD文档数字签名设备,包括处理器和存储器,所述处理器和存储器通过通信总线相连接;其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储所述程序,所述程序至少用于执行如本申请第一方面任一项所述的OFD文档数字签名方法的各个步骤。
本申请第四方面提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请第一方面任一项所述的OFD文档数字签名方法的各个步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:能够支持使用国密算法进行签名的OFD文档,保证电子签名的有效性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,其中:
图1为本申请OFD文档数字签名方法一实施例示意图;
图2为本申请OFD文档数字签名验证方法一实施例示意图;
图3为本申请OFD文档数字签名***结构示意图;
图4为本申请OFD文档数字签名***另一结构示意图;
图5为本申请OFD文档数字签名设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,均属于本申请保护的范围。
请参阅图1,本申请OFD文档数字签名方法一实施例包括:
101、获取待签名的OFD文档;
在本实施例中,***可选择采用二进制流读取待签名的OFD文档,还可以采用其他方式读取待签名的OFD文档,此处不做限定。
102、对OFD文档分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,第一摘要值适用于RSA算法,第二摘要值适用于国密算法;
在本实施例中,具体地,***可先对经过解压后的OFD文档进行RSA签名,对OFD文档进行SHA256哈希获取OFD文档的第一摘要值,即OFD文档的RSA摘要值;之后***对OFD文档进行国密算法签名,对OFD文档进行SM3哈希获取OFD文档的第二摘要值,即OFD文档的国密SM2摘要值。可以理解的是,在一些实施例中,***也可以同时进行SHA256以及SM3哈希运算,此处不做限定。
需要说明的是,OFD文档是一种复合型文档,需要对其进行解压,得到树状层次的文件结构。该文件结构是由多个XML文件构成的,通过解析XML文件可以得到OFD文档中的内容。
103、基于RSA算法对第一摘要值进行签名,得到第一签名信息;以及基于国密算法对第二摘要值进行签名,得到第二签名信息;
在本实施例中,具体地,***对RSA摘要值使用RSA算法进行签名,得到第一签名信息,即RSA签名信息;之后***对国密SM2摘要值使用国密算法进行签名,得到第二签名信息,即国密签名信息。可以理解的是,在一些实施例中,***也可以同时对RSA摘要值和国密SM2摘要值进行签名,此处不做限定。
104、将第一签名信息和第二签名信息存储于OFD文档的签名结构中,以完成签名。
在本实施例中,具体地,***将RSA签名信息和国密签名信息填充到OFD文档的签名结构中,保存OFD文档的签名结构到当前OFD文档中完成签名。
可以理解,本实施例的OFD文档数字签名方法还包括:
解析OFD文档,得到OFD文档源数据;
基于OFD文档源数据生成签名结构;
在签名结构中增加用于存储第二签名信息的字段。
具体地,在步骤104前,***解析OFD文档获取文件源数据,生成OFD签名结构,在OFD签名结构中增加自定义字段用来存储国密签名信息,将RSA签名信息和国密签名信息填充OFD签名结构中。
图1所示实施例对OFD文档数字签名方法进行了说明,在图1所示实施例的基础上,请继续参阅图2,图2所示实施例用于对已完成签名的OFD文档进行验证,具体的:
201、对OFD文档进行解压,得到XML文件;
在本实施例中,OFD文档是一种复合型文档,需要对其进行解压,得到树状层次的文件结构。该文件结构是由多个XML文件构成的,通过解析XML文件可以得到OFD文档中的内容。
202、解析XML文件,得到解析数据;
在本实施例中,***可以对XML文件中的数字证书信息,签名信息进行解析,得到解析数据。
203、将解析数据与第一签名信息和第二签名信息进行比较,以验证签名的有效性。
在本实施例中,***判断解析数据与第一签名信息和第二签名信息是否匹配,若匹配,则签名有效。
可见,本申请能够支持使用国密算法进行签名的OFD文档,保证电子签名的有效性,保护签名文档不受篡改,签署不可抵赖。
请参阅图3,图3为本申请的OFD文档数字签名***实施例的结构示意图,本申请OFD文档数字签名***一实施例包括:
获取单元301,用于获取待签名的OFD文档;
计算单元302,用于对所述OFD文档分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;
签名单元303,用于基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;
存储单元304,用于将所述第一签名信息和所述第二签名存储于所述OFD文档的签名结构中,以完成签名。
进一步的,在图3所示实施例基础上,请参阅图4,在图4所示实施例中,***还包括:
验证单元401,用于对已完成签名的所述OFD文档进行验证。
其中,所述验证单元501,具体用于对所述OFD文档进行解压,得到XML文件;解析所述XML文件,得到解析数据;将所述解析数据与所述第一签名信息和所述第二签名信息进行比较,以验证签名的有效性。
进一步的,还包括:
解析单元402,用于解析所述OFD文档,得到所述OFD文档源数据;
生成单元403,用于基于所述OFD文档源数据生成所述签名结构;
增删单元404,用于在所述签名结构中增加用于存储所述第二签名信息的字段。
上述***实施例中,各单元的具体实施方式可参照前述方法实施例,此处不再赘述。
可见,本申请能够支持使用国密算法进行签名的OFD文档,保证电子签名的有效性,保护签名文档不受篡改,签署不可抵赖。
请参阅图5,图5为本申请的OFD文档数字签名设备结构示意图,本实施例的OFD文档数字签名设备包括处理器501和存储器502,处理器501和存储器502通过通信总线相连接;
其中,处理器501,用于调用并执行存储器502中存储的程序;
存储器502,用于存储程序,程序至少用于执行上述实施例的OFD文档数字签名方法。
本申请还提供一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现如上实施例的OFD文档数字签名方法的各个步骤。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,可能涉及到的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行***执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种OFD文档数字签名方法,其特征在于,包括:
获取待签名的OFD文档;
对所述OFD文档分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;
基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;
将所述第一签名信息和所述第二签名信息存储于所述OFD文档的签名结构中,以完成签名。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一签名信息和所述第二签名信息存储于所述OFD文档的签名结构中之后,还包括:
对已完成签名的所述OFD文档进行验证。
3.根据权利要求2所述的方法,其特征在于,所述对已完成签名的所述OFD文档进行验证,包括:
对所述OFD文档进行解压,得到XML文件;
解析所述XML文件,得到解析数据;
将所述解析数据与所述第一签名信息和所述第二签名信息进行比较,以验证签名的有效性。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
解析所述OFD文档,得到所述OFD文档源数据;
基于所述OFD文档源数据生成所述签名结构;
在所述签名结构中增加用于存储所述第二签名信息的字段。
5.一种OFD文档数字签名***,其特征在于,包括:
获取单元,用于获取待签名的OFD文档;
计算单元,用于对所述OFD文档分别进行第一摘要运算和第二摘要运算,得到第一摘要值和第二摘要值;其中,所述第一摘要值适用于RSA算法,所述第二摘要值适用于国密算法;
签名单元,用于基于RSA算法对所述第一摘要值进行签名,得到第一签名信息;以及基于国密算法对所述第二摘要值进行签名,得到第二签名信息;
存储单元,用于将所述第一签名信息和所述第二签名存储于所述OFD文档的签名结构中,以完成签名。
6.根据权利要求5所述的***,其特征在于,所述***还包括:
验证单元,用于对已完成签名的所述OFD文档进行验证。
7.根据权利要求6所述的***,其特征在于,所述验证单元,具体用于对所述OFD文档进行解压,得到XML文件;解析所述XML文件,得到解析数据;将所述解析数据与所述第一签名信息和所述第二签名信息进行比较,以验证签名的有效性。
8.根据权利要求5-7任一项所述的***,其特征在于,所述***还包括:
解析单元,用于解析所述OFD文档,得到所述OFD文档源数据;
生成单元,用于基于所述OFD文档源数据生成所述签名结构;
增删单元,用于在所述签名结构中增加用于存储所述第二签名信息的字段。
9.一种OFD文档数字签名设备,其特征在于,包括处理器和存储器,所述处理器和存储器通过通信总线相连接;
其中,所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器,用于存储所述程序,所述程序至少用于执行权利要求1-4任一项所述的OFD文档数字签名方法。
10.一种存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-5任一项所述的OFD文档数字签名方法的各个步骤。
CN202010329733.5A 2020-04-24 2020-04-24 一种ofd文档数字签名方法及*** Pending CN111552927A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010329733.5A CN111552927A (zh) 2020-04-24 2020-04-24 一种ofd文档数字签名方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010329733.5A CN111552927A (zh) 2020-04-24 2020-04-24 一种ofd文档数字签名方法及***

Publications (1)

Publication Number Publication Date
CN111552927A true CN111552927A (zh) 2020-08-18

Family

ID=72005808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010329733.5A Pending CN111552927A (zh) 2020-04-24 2020-04-24 一种ofd文档数字签名方法及***

Country Status (1)

Country Link
CN (1) CN111552927A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111990A (zh) * 2021-04-02 2021-07-13 北京点聚信息技术有限公司 一种ofd电子文件的数据处理方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485556A (zh) * 2016-10-21 2017-03-08 百望股份有限公司 一种电子***生成***
CN106789091A (zh) * 2017-02-24 2017-05-31 中金金融认证中心有限公司 一种Open XML文档数字签名和验签的实现方法及装置
CN107017995A (zh) * 2017-04-21 2017-08-04 广东信鉴信息科技有限公司 混合签名及验签方法、装置及***
CN109583158A (zh) * 2018-11-15 2019-04-05 福建南威软件有限公司 一种基于动态水印的电子证照副本生成方法
CN109831302A (zh) * 2017-11-23 2019-05-31 杭州天谷信息科技有限公司 基于国密算法的pdf电子签章方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485556A (zh) * 2016-10-21 2017-03-08 百望股份有限公司 一种电子***生成***
CN106789091A (zh) * 2017-02-24 2017-05-31 中金金融认证中心有限公司 一种Open XML文档数字签名和验签的实现方法及装置
CN107017995A (zh) * 2017-04-21 2017-08-04 广东信鉴信息科技有限公司 混合签名及验签方法、装置及***
CN109831302A (zh) * 2017-11-23 2019-05-31 杭州天谷信息科技有限公司 基于国密算法的pdf电子签章方法及***
CN109583158A (zh) * 2018-11-15 2019-04-05 福建南威软件有限公司 一种基于动态水印的电子证照副本生成方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113111990A (zh) * 2021-04-02 2021-07-13 北京点聚信息技术有限公司 一种ofd电子文件的数据处理方法及***

Similar Documents

Publication Publication Date Title
EP3531316B1 (en) Block chain-based data processing method and device
US11887619B2 (en) Method and apparatus for detecting similarity between multimedia information, electronic device, and storage medium
US7953972B2 (en) System and method for managing files
US8190902B2 (en) Techniques for digital signature formation and verification
CN112507328B (zh) 一种文件签名方法、计算设备及存储介质
US20090064125A1 (en) Secure Upgrade of Firmware Update in Constrained Memory
US8819361B2 (en) Retaining verifiability of extracted data from signed archives
CN111581606A (zh) 一种pdf文件数字签名方法及***
CN108495164A (zh) 音视频同步处理方法及装置、计算机装置及存储介质
US20090164791A1 (en) System and method for digitally signing an electronic document
CN111368335A (zh) Pdf文件的电子签章方法及电子签章验证方法和***
CN111552946A (zh) 一种pdf文件数字签名方法、***及存储介质
JP2002229448A (ja) 構造を持った文書に対する電子署名方法及び装置
CN112163412A (zh) 数据校验方法、装置、电子设备及存储介质
CN111552927A (zh) 一种ofd文档数字签名方法及***
CN114781007A (zh) 基于树的文档批量签名及验签方法、***
CN111265860A (zh) 游戏存档处理方法、装置、终端设备及可读存储介质
CN112507014B (zh) 一种基于可信账本数据库的数据存储方法、装置及***
CN110351090B (zh) 群签名数字证书吊销方法及装置、存储介质、电子设备
CN112990466A (zh) 一种冗余规则检测方法、装置以及服务器
CN112835854A (zh) 文件存储方法、装置、电子设备和存储介质
CN113541973B (zh) 一种电子签名封装方法
CN114722413B (zh) 一种建立安全信任链的方法、装置、服务器及介质
CN114139216A (zh) 数据校验方法、装置、电子设备及存储介质
CN106021467B (zh) 读取数据文件的方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination