CN116451261B - 一种对pdf文档进行rsa和sm2双标准签名和验证的方法 - Google Patents
一种对pdf文档进行rsa和sm2双标准签名和验证的方法 Download PDFInfo
- Publication number
- CN116451261B CN116451261B CN202310712772.7A CN202310712772A CN116451261B CN 116451261 B CN116451261 B CN 116451261B CN 202310712772 A CN202310712772 A CN 202310712772A CN 116451261 B CN116451261 B CN 116451261B
- Authority
- CN
- China
- Prior art keywords
- pdf document
- rsa
- hash value
- signature
- text field
- 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
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012795 verification Methods 0.000 title claims abstract description 24
- 230000009977 dual effect Effects 0.000 claims description 3
- 238000001514 detection method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing 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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种对PDF文档进行RSA和SM2双标准签名和验证的方法,包括同时使用RSA和SM2两种算法对PDF文档进行数字签名,以及对数字签名进行验证,判定PDF文档签名域是否被破坏,或者PDF文档文本域是否被篡改或破坏,或者PDF文档是否被篡改或破坏。本发明提供的PDF文档数字签名和验证方法同时采用RSA和SM2双标准,一方面既满足我国对商用密码应用的管理要求,另一方面也有利于促进检验检测证书与报告等数字签名PDF文档的跨国流通与应用,提升国际贸易便利化水平。
Description
技术领域
本发明属于计算机技术领域,特别涉及一种针对PDF文档同时进行RSA和SM2双标准数字签名和验证的方法。
背景技术
RSA算法是国际上第一个能同时用于加密和数字签名的算法,RSA也是被研究得最广泛的公钥算法,从提出到现今的四十多年里,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。SM2算法是我国自主设计的公钥密码算法,由国家密码管理局于2010年12月首次公开发布,2012年3月成为中国商用密码标准(标准号为GM/T0003—2012),2016年8月成为中国国家密码标准(标准号为GB/T32918-2016)。SM2基于更加安全先进的椭圆曲线密码机制,在国际标准的ECC椭圆曲线密码理论基础上改进而来,其加密强度更高。
RSA算法和SM2算法是2个独立的非对称算法,可用于身份验证、加解密。非对称算法加密和解密使用不同的密钥,即使用加密密钥进行加密、解密密钥进行解密。RSA和SM2的加解密应用已经非常成熟,在电子文档数字签名领域应用很广泛。
RSA是国际标准非对称算法,SM2是中国自己的非对称算法,通常情况下各自独立使用。但在一些特定领域如针对检验检测报告、认证证书进行数字签名,一方面为了遵循国家商用密码产品应用管理要求,在国内流通时需要使用SM2算法进行数字签名和验证,另一方面为促进国际贸易便利化还需要跨国流通与应用,要求应用符合估计标准的RSA算法进行数字签名与验证。因此,在不破坏数据的情况下,如何对PDF文件同时采用RSA和SM2双标准进行签名和验证成为亟待解决的技术问题。
发明内容
技术问题:为了解决以上技术问题,本发明提供了一种针对PDF文档同时进行RSA和SM2双标准数字签名和验证的方法。
技术方案:本发明提供了一种针对PDF文档同时进行RSA和SM2双标准数字签名和验证的方法,其中,数字签名过程如下:
步骤101,计算PDF文档文本域的哈希值,获取RSA证书的哈希值,分别对PDF文档文本域的哈希值和RSA证书的哈希值进行SM2加密,得到PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值;
步骤102,在PDF文档内插入SM2标识位;
步骤103,将步骤101中的PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值插入SM2标识位中,形成包含SM2加密值(SM2签名)的PDF文档;
步骤104,计算包含SM2加密值(SM2签名)的PDF文档文本域的哈希值,对该哈希值进行RSA加密,得到经SM2签名的PDF文档的RSA加密值(RSA签名);
步骤105,将步骤104得到的的RSA加密值(RSA签名)插入步骤103得到的PDF文档的签名域中,实现PDF文档的RSA签名。
其中,解密验签过程如下:
步骤201,读取待解密验签的PDF文档签名域的RSA加密值,如无法读出,判定PDF文档签名域被破坏;
步骤202,读取待解密验签的PDF文档的SM2标识符,如无SM2标识符,判定PDF文档未使用SM2进行数字签名;
步骤203,读取待解密验签的PDF文档的SM2标识符,并对PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值使用公钥进行解密得到PDF文档文本域的哈希值和RSA证书的哈希值;
步骤204,使用步骤101同样的方法计算获得待解密验签的PDF文档签名域RSA证书的哈希值,与步骤203解密得到的RSA证书的哈希值对比,如两者不同,判定PDF文档签名使用的RSA证书被伪造;
步骤205,读取待解密验签的PDF文档文本域并去除SM2标识符相关的内容,使用步骤101同样的方法计算获得待解密验签的PDF文档文本域的哈希值,与步骤203解密得到的PDF文档文本域的哈希值对比,如两者不同,判定PDF文档文本域被篡改或破坏;
步骤206,如经过步骤201至步骤205,如果该PDF文档均未被判定PDF文档签名域被破坏,且未被判定PDF文档未使用SM2进行数字签名,且未被判定PDF文档签名使用的RSA证书被伪造,且未被判定PDF文档文本域被篡改或破坏,则该经RSA和SM2双标准数字签名的PDF文档解密验签通过。
有益效果:本发明提供的PDF文档数字签名和验证方法同时采用RSA和SM2两种算法,一方面既满足我国对商用密码应用的管理要求,另一方面也有利于促进检验检测证书与报告等同时采用RSA和SM2两种算法进行数字签名PDF文档的跨国流通与应用,提升国际贸易便利化水平。
本发明提供的方法避免了数字签名时对PDF文档同时进行RSA和SM2两次签名导致破坏彼此的算法,甚至破坏PDF文档数据的问题;还保证了在解密验签时既可以单独验证SM2签名,也可以在国际上广泛应用的adobe reader等常见办公软件中自动验证RSA签名。
附图说明
图1为adobe reader打开经RSA和SM2双标准数字签名的双签pdf文档图。
图2为上传双签文档验证SM2签名图。
图3为验证双签文档的SM2签名信息图。
图4为adobe reader打开经修改过签名信息的双签文档图。
图5为验证经修改签名信息的双签文档签名信息图。
图6为验证双签文档的RSA签名信息图。
图7为验证双签文档的SM2签名信息图。
实施方式
下面对本发明具体实施方式作出进一步说明。
同时对PDF文档进行RSA和SM2双标准数字签名和验证的方法,其中,数字签名过程如下:
步骤101,计算PDF文档文本域的哈希值,获取RSA证书的哈希值,分别对PDF文档文本域的哈希值和RSA证书的哈希值进行SM2加密,得到PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值;
步骤102,在PDF文档内插入SM2标识位;
步骤103,将步骤101中的PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值插入SM2标识位中,形成包含SM2加密值(SM2签名)的PDF文档;
步骤104,计算包含SM2加密值(SM2签名)的PDF文档文本域的哈希值,对该哈希值进行RSA加密,得到经SM2签名的PDF文档的RSA加密值(RSA签名);
步骤105,将步骤104得到的的RSA加密值(RSA签名)插入步骤103得到的PDF文档的签名域中,实现PDF文档的RSA签名。
其中,解密验签过程如下:
步骤201,读取待解密验签的PDF文档签名域的RSA加密值,如无法读出,判定PDF文档签名域被破坏;
步骤202,读取待解密验签的PDF文档的SM2标识符,如无SM2标识符,判定PDF文档未使用SM2进行数字签名;
步骤203,读取待解密验签的PDF文档的SM2标识符,并对PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值使用公钥进行解密得到PDF文档文本域的哈希值和RSA证书的哈希值;
步骤204,使用步骤101同样的方法计算获得待解密验签的PDF文档签名域RSA证书的哈希值,与步骤203解密得到的RSA证书的哈希值对比,如两者不同,判定PDF文档签名使用的RSA证书被伪造;
步骤205,读取待解密验签的PDF文档文本域并去除SM2标识符相关的内容,使用步骤101同样的方法计算获得待解密验签的PDF文档文本域的哈希值,与步骤203解密得到的PDF文档文本域的哈希值对比,如两者不同,判定PDF文档文本域被篡改或破坏;
步骤206,如经过步骤201至步骤205,如果该PDF文档均未被判定PDF文档签名域被破坏,且未被判定PDF文档未使用SM2进行数字签名,且未被判定PDF文档签名使用的RSA证书被伪造,且未被判定PDF文档文本域被篡改或破坏,则该经RSA和SM2双标准数字签名的PDF文档解密验签通过。
以下结合一个更具体的实例对本发明的具体实施方式做出说明。
1. 根据步骤101至步骤105的方法形成一个经过RSA和SM2双标准数字签名的“双签文档.pdf”,并用pdf文档阅读工具打开,见图1。
pdf阅读工具显示:该文档已加密,签名由“上海XX技术有限公司”验证,证书由“XX”颁发,该信息为国际通用的RSA签名信息。
2.将该文档上传至中国国家认证认可监督委员会网站,验证该文件SM2签名信息,完整显示SM2签名信息,见图2和图3。
3.将该文档破解后修改签名信息,重命名为“被修改双签.pdf”。用pdf文档阅读工具打开,见图4。
pdf阅读工具显示:该文档数字签名已被修改或无效;显示了该文档被修改,图5。
4.将“双签文档.pdf”上传至经改进的双签名验证平台进行签名验证。“双签文档.pdf”的RSA签名验证结果见图6;SM2签名验证结果见图7,说明本发明提供的的数字签名和验证过程未破坏文档结构,可实现双签和双验。
以上所述实施实例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (2)
1.一种对PDF文档进行RSA和SM2双标准签名和验证的方法,其特征在于:同时使用RSA和SM2双标准对PDF进行数字签名,具体步骤如下:
步骤101,计算PDF文档文本域的哈希值,获取RSA证书的哈希值,分别对PDF文档文本域的哈希值和RSA证书的哈希值进行SM2加密,得到PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值;
步骤102,在PDF文档内插入SM2标识位;
步骤103,将步骤101中的PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值插入SM2标识位中,形成包含SM2加密值的PDF文档;
步骤104,计算包含SM2加密值的PDF文档文本域的哈希值,对该哈希值进行RSA加密,得到经SM2签名的PDF文档的RSA加密值;
步骤105,将步骤104得到的的RSA加密值插入步骤103得到的PDF文档的签名域中,实现PDF文档的RSA签名。
2.根据权利要求1所述的一种对PDF文档进行RSA和SM2双标准签名和验证的方法,其特征在于:对同时使用RSA和SM2双标准数字签名后的PDF文档进行解密验签,具体步骤如下:
步骤201,读取待解密验签的PDF文档签名域的RSA加密值,如无法读出,判定PDF文档签名域被破坏;
步骤202,读取待解密验签的PDF文档的SM2标识符,如无SM2标识符,判定PDF文档未使用SM2进行数字签名;
步骤203,读取待解密验签的PDF文档的SM2标识符,并对PDF文档文本域的哈希值的SM2加密值和RSA证书的哈希值的SM2加密值使用公钥进行解密得到PDF文档文本域的哈希值和RSA证书的哈希值;
步骤204,使用步骤101同样的方法计算获得待解密验签的PDF文档签名域RSA证书的哈希值,与步骤203解密得到的RSA证书的哈希值对比,如两者不同,判定PDF文档签名使用的RSA证书被伪造;
步骤205,读取待解密验签的PDF文档文本域并去除SM2标识符相关的内容,使用步骤101同样的方法计算获得待解密验签的PDF文档文本域的哈希值,与步骤203解密得到的PDF文档文本域的哈希值对比,如两者不同,判定PDF文档文本域被篡改或破坏;
步骤206,如经过步骤201至步骤205,如果该PDF文档均未被判定PDF文档签名域被破坏,且未被判定PDF文档未使用SM2进行数字签名,且未被判定PDF文档签名使用的RSA证书被伪造,且未被判定PDF文档文本域被篡改或破坏,则该经RSA和SM2双标准数字签名的PDF文档解密验签通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310712772.7A CN116451261B (zh) | 2023-06-16 | 2023-06-16 | 一种对pdf文档进行rsa和sm2双标准签名和验证的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310712772.7A CN116451261B (zh) | 2023-06-16 | 2023-06-16 | 一种对pdf文档进行rsa和sm2双标准签名和验证的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116451261A CN116451261A (zh) | 2023-07-18 |
CN116451261B true CN116451261B (zh) | 2023-10-13 |
Family
ID=87134165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310712772.7A Active CN116451261B (zh) | 2023-06-16 | 2023-06-16 | 一种对pdf文档进行rsa和sm2双标准签名和验证的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116451261B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117040760B (zh) * | 2023-08-18 | 2024-02-09 | 河南省信息化集团有限公司 | 一种支持双算法的版式文件签章方法 |
CN118690349A (zh) * | 2024-08-26 | 2024-09-24 | 四川省数字证书认证管理中心有限公司 | 同时支持rsa和sm2签名算法的pdf签章及验证方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368335A (zh) * | 2020-04-01 | 2020-07-03 | 北京天威诚信电子商务服务有限公司 | Pdf文件的电子签章方法及电子签章验证方法和系统 |
CN111581606A (zh) * | 2020-04-24 | 2020-08-25 | 上海亘岩网络科技有限公司 | 一种pdf文件数字签名方法及系统 |
CN112465502A (zh) * | 2020-11-11 | 2021-03-09 | 中国农业银行股份有限公司上海市分行 | 一种离线部署数字时间戳的方法 |
-
2023
- 2023-06-16 CN CN202310712772.7A patent/CN116451261B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368335A (zh) * | 2020-04-01 | 2020-07-03 | 北京天威诚信电子商务服务有限公司 | Pdf文件的电子签章方法及电子签章验证方法和系统 |
CN111581606A (zh) * | 2020-04-24 | 2020-08-25 | 上海亘岩网络科技有限公司 | 一种pdf文件数字签名方法及系统 |
CN112465502A (zh) * | 2020-11-11 | 2021-03-09 | 中国农业银行股份有限公司上海市分行 | 一种离线部署数字时间戳的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116451261A (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116451261B (zh) | 一种对pdf文档进行rsa和sm2双标准签名和验证的方法 | |
CN111538963A (zh) | 一种基于双链的区块链版权保护系统及方法 | |
TW294874B (zh) | ||
TWI454111B (zh) | 用於確保通訊之鑑別及完備性的技術 | |
CN110674523A (zh) | 一种数字签名结合手写签名确认电子合同签署人的方法 | |
US9064129B2 (en) | Managing data | |
US7499552B2 (en) | Cipher method and system for verifying a decryption of an encrypted user data key | |
CN105635070B (zh) | 一种数字文件的防伪方法及系统 | |
KR101078546B1 (ko) | 범용 저장장치의 식별정보를 기반으로 하는 보안 데이터 파일 암호화 및 복호화 장치, 그를 이용한 전자 서명 시스템 | |
JP3980145B2 (ja) | チップカード用暗号鍵認証方法および証明書 | |
CN110046489B (zh) | 一种基于国产龙芯处理器的可信访问验证系统,计算机及可读存储介质 | |
CN112487380B (zh) | 一种数据交互方法、装置、设备及介质 | |
CN2609069Y (zh) | 指纹数字签名器 | |
CN106778292B (zh) | 一种Word加密文档的快速还原方法 | |
CN113688399A (zh) | 固件数字签名保护方法、装置、计算机设备及存储介质 | |
CN110837634B (zh) | 基于硬件加密机的电子签章方法 | |
CN103093137A (zh) | 一种基于u盘的文件安全分发方法 | |
CN110990814A (zh) | 一种可信数字身份认证方法、系统、设备及介质 | |
CN108446539A (zh) | 一种软件授权方法和软件授权文件生成系统 | |
CN114329634A (zh) | 一种电子签章文档的防伪方法 | |
CN113849797B (zh) | 数据安全漏洞的修复方法、装置、设备及存储介质 | |
CN112968774B (zh) | 一种组态存档加密及解密方法、装置存储介质及设备 | |
CN110489978A (zh) | 一种文件加解密方法 | |
CN113761578A (zh) | 一种基于区块链的文书验真方法 | |
CN105873043B (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 | ||
CB03 | Change of inventor or designer information |
Inventor after: Tan Minqing Inventor after: Fang Honghai Inventor after: Zhou Xiyu Inventor before: Tan Minqing Inventor before: Fang Honghai Inventor before: Zhou Xi |
|
CB03 | Change of inventor or designer information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |