一种支持多算法的PDF签名方法及系统技术方案

技术编号:14420221 阅读:72 留言:0更新日期:2017-01-12 22:26
本发明专利技术公开了一种支持多算法的PDF签名方法及系统,所述方法包括发送端的操作和接收端的操作,所述发送端的操作包括:获取消息;其中,该消息为PDF文档的内容;调用Netca PKI Crypto安全中间件,对获取的消息进行摘要和加密,产生数字签名值;将数字签名值保存在原消息中,并将原消息和数字签名值一起发送给接收端;所述接收端的操作包括:接收发送端发送的消息和数字签名值;调用Netca PKI Crypto安全中间件,对数字签名值进行验证;根据验证结果判断数字签名是否有效;将数字签名是否有效的判断结果返回给发送端。本发明专利技术不仅可以使用RSA证书进行签名,而且可以使用SM2证书进行签名。

【技术实现步骤摘要】

本专利技术涉及一种PDF签名方法,尤其是一种支持多算法的PDF签名方法,属于PDF签名插件领域。
技术介绍
随着Internet的普及,人们通过因特网进行沟通越来越多,相应的通过网络进行商务活动即电子商务也得到了广泛的发展。电子商务为中国企业开拓国际国内市场、利用好国内外各种资源提供了一个千载难逢的良机。电子商务对企业来说真正体现了平等竞争、高效率、低成本、高质量的优势,能让企业在激烈的市场竞争中把握商机、脱颖而出。发达国家已经把电子商务作为21世纪国家经济的增长重点,中国的有关部门也正在大力推进中国企业发展电子商务。然而随着电子商务的飞速发展也相应的引发出一些Internet安全问题,这些问题概括起来就有:机密性、完整性、身份认证与授权和防抵赖。为了解决这些Internet的安全问题,世界各国对其进行了多年的研究,初步形成了一套完整的Internet安全解决方案,即目前被广泛采用的PKI技术。PKI(PublicKeyInfrastructure,公钥基础设施)是提供公钥加密和数字签名服务的系统或平台,目的是管理密钥和证书。通过第三方的可信任机构--认证中心CA(CertificateAuthority),把用户的公钥和用户的其他标识信息(如名称、e-mail、身份证号等)捆绑在一起,在Internet网上验证用户的身份。目前,通用的办法是采用基于PKI结构结合数字证书,通过把要传输的数字信息进行加密,保证信息传输的保密性、完整性,签名保证身份的真实性和抗抵赖性。目前,Adobe公司在AdobeReader和AdobeAcrobat中就内置了一个支持RSA证书的默认安全性的签名插件,它支持的摘要算法有SHA1、SHA256、SHA384、SHA512、SHA224和RIPEMD160,不过并不支持SM2算法所使用的SM3摘要算法。SM2算法是椭圆曲线加密算法(ECC)中的一种,在同样密钥长度下,相较于RSA算法,SM2算法安全性更高,存储空间更小,签名速度更快。Adobe自带的签名插件目前仅可以使用RSA证书进行签名,无法使用SM2证书进行签名。近年来,政府为了保障国家自身的信息安全,免于受制于其人,国家推行和鼓励各个行业应用国产算法SM2算法,在目前的互联网应用中,PDF文件的签名十分广泛,所以经常遭遇SM2证书无法对PDF文件进行签名的问题。
技术实现思路
本专利技术的目的是为了解决上述现有技术的缺陷,提供了一种支持多算法的PDF签名方法,该方法不仅可以使用RSA证书进行签名,而且可以使用SM2证书进行签名,解决了现有AdobeReader(或AdobeAcrobat)不能识别SM2算法,导致无法使用SM2证书进行签名的问题。本专利技术的另一目的在于提供一种支持多算法的PDF签名系统。本专利技术的目的可以通过采取如下技术方案达到:一种支持多算法的PDF签名方法,所述方法包括发送端的操作,所述发送端的操作包括:获取消息;其中,所述消息为PDF文档的内容;调用NetcaPKICrypto安全中间件,对获取的消息进行摘要和加密,产生数字签名值;将数字签名值保存在原消息中,并将原消息和数字签名值一起发送给接收端。进一步的,所述获取消息,具体为:根据选择的签名证书,通过回调函数CallBack的输出参数接收签名证书及签名证书链,通过回调函数CallBack的输入参数获取消息;其中,所述签名证书包括对应的私有密钥和相关信息;所述将数字签名值保存在原消息中,并将原消息和数字签名值一起发送给接收端,具体为:通过回调函数CallBack的输出参数将数字签名值保存在原消息中,将原消息和数字签名值一起发送给接收端。进一步的,所述调用NetcaPKICrypto安全中间件,对获取的消息进行摘要和加密,具体包括:调用NetcaPKICrypto安全中间件,将消息按散列算法计算得到一个固定位数的消息摘要值;调用NetcaPKICrypto安全中间件,采用私有密钥对消息的摘要值进行加密,产生数字签名值。进一步的,所述方法还包括接收端的操作,所述接收端的操作包括:接收发送端发送的消息和数字签名值;调用NetcaPKICrypto安全中间件,对数字签名值进行验证;根据验证结果判断数字签名是否有效;将数字签名是否有效的判断结果返回给发送端。进一步的,所述调用NetcaPKICrypto安全中间件,对数字签名值进行验证,具体包括:在打开PDF文档,并点击PDF文档中的数字签名后,触发验证数字签名的相关回调函数;通过实现DigSig层的回调函数,获取已触发验证过程的数字签名对应的签名域对象,利用与该签名域对象的相关联的一个词典属性表提取出消息的摘要范围和数字签名值;调用NetcaPKICrypto安全中间件,采用散列算法计算消息的摘要值;调用NetcaPKICrypto安全中间件,采用发送端的公共密钥对数字签名值进行解密,得到解密后的摘要值;将解密后的摘要值与计算的消息摘要值进行比较,得到的比较结果即为验证结果;所述根据验证结果判断数字签名是否有效,具体为:根据验证结果,若解密后的摘要值与计算的消息摘要值相等,则数字签名有效,否则,数字签名无效。本专利技术的另一目的可以通过采取如下技术方案达到:一种支持多算法的PDF签名系统,所述系统包括发送端和接收端,所述发送端包括:获取模块,用于获取消息;其中,所述消息为PDF文档的内容;签名模块,用于调用NetcaPKICrypto安全中间件,对获取的消息进行摘要和加密,产生数字签名值;发送模块,用于将数字签名值保存在原消息中,并将原消息和数字签名值一起发送给接收端。进一步的,所述获取模块,具体为:用于根据选择的签名证书,通过回调函数CallBack的输出参数接收签名证书及签名证书链,通过回调函数CallBack的输入参数获取消息;其中,所述签名证书包括对应的私有密钥和相关信息;所述发送模块,具体为:用于通过回调函数CallBack的输出参数将数字签名值保存在原消息中,将原消息和数字签名值一起发送给接收端。进一步的,所述签名模块,具体包括:第一计算单元,用于调用NetcaPKICrypto安全中间件,将消息按散列算法计算得到一个固定位数的消息摘要值;加密单元,用于调用NetcaPKICrypto安全中间件,采用私有密钥对消息的摘要值进行加密,产生数字签名值。进一步的,所述接收端包括:接收模块,用于接收发送端发送的消息和数字签名值;验证模块,用于调用NetcaPKICrypto安全中间件,对数字签名值进行验证;判断模块,用于根据验证结果判断数字签名是否有效;返回模块,用于将数字签名是否有效的判断结果返回给发送端。进一步的,所述验证模块,具体包括:触发单元,用于在打开PDF文档,并点击PDF文档中的数字签名后,触发验证数字签名的相关回调函数;提取单元,用于通过实现DigSig层的回调函数,获取已触发验证过程的数字签名对应的签名域对象,利用与该签名域对象的相关联的一个词典属性表提取出消息的摘要范围和数字签名值;第二计算单元,用于调用NetcaPKICrypto安全中间件,采用散列算法计算消息的摘要值;解密单元,用于调用NetcaPKICrypto安全中间件,采用发送端的公共密钥对数字签名值进行解密,得到解密后本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/62/201610802221.html" title="一种支持多算法的PDF签名方法及系统原文来自X技术">支持多算法的PDF签名方法及系统</a>

【技术保护点】
一种支持多算法的PDF签名方法,其特征在于:所述方法包括发送端的操作,所述发送端的操作包括:获取消息;其中,所述消息为PDF文档的内容;调用Netca PKI Crypto安全中间件,对获取的消息进行摘要和加密,产生数字签名值;将数字签名值保存在原消息中,并将原消息和数字签名值一起发送给接收端。

【技术特征摘要】
1.一种支持多算法的PDF签名方法,其特征在于:所述方法包括发送端的操作,所述发送端的操作包括:获取消息;其中,所述消息为PDF文档的内容;调用NetcaPKICrypto安全中间件,对获取的消息进行摘要和加密,产生数字签名值;将数字签名值保存在原消息中,并将原消息和数字签名值一起发送给接收端。2.根据权利要求1所述的一种支持多算法的PDF签名方法,其特征在于:所述获取消息,具体为:根据选择的签名证书,通过回调函数CallBack的输出参数接收签名证书及签名证书链,通过回调函数CallBack的输入参数获取消息;其中,所述签名证书包括对应的私有密钥和相关信息;所述将数字签名值保存在原消息中,并将原消息和数字签名值一起发送给接收端,具体为:通过回调函数CallBack的输出参数将数字签名值保存在原消息中,将原消息和数字签名值一起发送给接收端。3.根据权利要求1所述的一种支持多算法的PDF签名方法,其特征在于:所述调用NetcaPKICrypto安全中间件,对获取的消息进行摘要和加密,具体包括:调用NetcaPKICrypto安全中间件,将消息按散列算法计算得到一个固定位数的消息摘要值;调用NetcaPKICrypto安全中间件,采用私有密钥对消息的摘要值进行加密,产生数字签名值。4.根据权利要求1-3任一项所述的一种支持多算法的PDF签名方法,其特征在于:所述方法还包括接收端的操作,所述接收端的操作包括:接收发送端发送的消息和数字签名值;调用NetcaPKICrypto安全中间件,对数字签名值进行验证;根据验证结果判断数字签名是否有效;将数字签名是否有效的判断结果返回给发送端。5.根据权利要求4所述的一种支持多算法的PDF签名方法,其特征在于:所述调用NetcaPKICrypto安全中间件,对数字签名值进行验证,具体包括:在打开PDF文档,并点击PDF文档中的数字签名后,触发验证数字签名的相关回调函数;通过实现DigSig层的回调函数,获取已触发验证过程的数字签名对应的签名域对象,利用与该签名域对象的相关联的一个词典属性表提取出消息的摘要范围和数字签名值;调用NetcaPKICrypto安全中间件,采用散列算法计算消息的摘要值;调用NetcaPKICrypto安全中间件,采用发送端的公共密钥对数字签名值进行解密,得到解密后的摘要值;将解密后的摘要值与计算的消息摘要值进行比较,得到的比较结果即为验证结果;所述根据验证结果判断数字签名是否有效,具体为:根据验证结果,若解密后的摘要值与计算的消息摘要值相等,则数字签名有效,否则,数...

【专利技术属性】
技术研发人员:林志豪刘义赵敏
申请(专利权)人:广东省电子商务认证有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1