电子文档的签章方法、装置、存储介质和电子设备与流程

文档序号:20778195发布日期:2020-05-19 20:59阅读:181来源:国知局
本公开涉及电子信息
技术领域
:,具体地,涉及一种电子文档的签章方法、装置、存储介质和电子设备。
背景技术
::随着电子信息技术的不断发展,不同格式的各类电子文档广泛应用于各个
技术领域
:,然而电子文档在传输的过程中,存在被恶意篡改和伪造的风险,因此在传输电子文档时,需要对电子文档进行签章,以确保电子文档在传输过程中的安全。现有技术中,对电子文档进行签章主要通过服务器来完成。当客户端需要对电子文档进行签章时,将待签章的文档数据上传至能够提供签章服务的服务器,服务器需要对客户端上传的文档数据进行保存。提供签章服务的服务器通常为服务器集群,即包括了多个服务器,因此,为了保证客户端在访问任一个服务器时都能进行签章,需要使多个服务器之间始终保持数据同步,需要处理的数据量大,降低了服务器的处理效率,不利于服务器集群的扩充。技术实现要素:为了解决现有技术中存在的问题,本公开的目的是提供一种电子文档的签章方法、装置、存储介质和电子设备。为了实现上述目的,根据本公开实施例的第一方面,提供一种电子文档的签章方法,应用于服务器,所述方法包括:接收客户端发送的文档数据;根据预先存储的印章图片和所述文档数据生成待签电子文档,所述待签电子文档中包括所述印章图片;获取所述待签电子文档的哈希值和所述哈希值对应的随机数;将第一数据发送至所述客户端,所述第一数据包括:所述待签电子文档、所述哈希值和所述随机数,以使所述客户端根据签章私钥对所述哈希值进行加密,得到签章数字签名,并将所述第一数据和所述签章数字签名作为第二数据,发送至所述服务器;若所述客户端发送的所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,且所述第二数据包括的所述签章数字签名通过验证,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成已签电子文档,所述已签电子文档中包括所述印章图片和所述签章数字签名;将所述已签电子文档发送至所述客户端。可选地,所述获取所述待签电子文档的哈希值和所述哈希值对应的随机数,包括:将所述待签电子文档作为预设算法输入,以得到所述预设算法输出的所述哈希值;将所述哈希值作为种子,生成所述随机数。可选地,在所述若所述客户端发送的所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,且所述第二数据包括的所述签章数字签名通过验证,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成已签电子文档之前,所述方法还包括:将所述第二数据包括的所述哈希值作为种子,生成目标随机数,若所述第二数据包括的所述随机数与所述目标随机数相同,确定所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配;根据签章公钥对所述第二数据包括的所述签章数字签名进行解密,所述签章公钥为所述签章私钥对应的公钥,若所述第二数据包括的所述签章数字签名被所述签章公钥解密,确定所述第二数据包括的所述签章数字签名通过验证。可选地,所述接收客户端发送的文档数据,包括:接收所述客户端发送的所述文档数据和第一数字签名,所述第一数字签名为所述客户端根据第一私钥对所述文档数据进行加密得到的数字签名;在所述接收客户端发送的文档数据之后,所述方法还包括:根据第一公钥对所述第一数字签名进行解密,所述第一公钥为所述第一私钥对应的公钥;若所述第一数字签名被所述第一公钥解密,确定所述第一数字签名通过验证;所述根据预先存储的印章图片和所述文档数据生成待签电子文档,包括:若所述第一数字签名通过验证,根据所述印章图片和所述文档数据生成所述待签电子文档。可选地,所述将第一数据发送至所述客户端,包括:将所述第一数据和所述第二数字签名发送至所述客户端,所述第二数字签名为所述服务器根据第二私钥对所述第一数据进行加密得到的数字签名,以使所述客户端在所述第二数字签名通过验证的条件下,根据所述签章私钥对所述哈希值进行加密,得到所述签章数字签名,并将所述第二数据和第三数字签名发送至所述服务器,所述第三数字签名为所述客户端根据所述第一私钥对所述第二数据进行加密得到的数字签名;在所述若所述客户端发送的所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,且所述第二数据包括的所述签章数字签名通过验证,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成已签电子文档之前,所述方法还包括:根据所述第一公钥对所述第三数字签名进行解密;若所述第三数字签名被所述第一公钥解密,确定所述第三数字签名通过验证;所述若所述客户端发送的所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,且所述第二数据包括的所述签章数字签名通过验证,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成已签电子文档,包括:若所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,所述第二数据包括的所述签章数字签名通过验证,且所述第三数字签名通过验证,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成所述已签电子文档。根据本公开实施例的第二方面,提供一种电子文档的签章方法,应用于客户端,所述方法包括:向服务器发送文档数据,以使所述服务器根据预先存储的印章图片和所述文档数据生成待签电子文档,获取所述待签电子文档的哈希值和所述哈希值对应的随机数,并将所述第一数据发送至所述客户端,所述第一数据包括:所述待签电子文档、所述哈希值和所述随机数;根据签章私钥对所述第一数据包括的所述哈希值进行加密,得到签章数字签名;将所述第一数据和所述签章数字签名作为第二数据发送至所述服务器,以使所述服务器在所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,且所述第二数据包括的所述签章数字签名通过验证的条件下,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成已签电子文档,所述已签电子文档中包括所述印章图片和所述签章数字签名;接收所述服务器发送的所述已签电子文档。可选地,所述向服务器发送文档数据,包括:向所述服务器发送所述文档数据和第一数字签名,所述第一数字签名为所述客户端根据第一私钥对所述文档数据进行加密得到的数字签名,以使所述服务器根据第一公钥对所述第一数字签名进行解密,并在所述第一数字签名被所述第一公钥解密的条件下,根据所述印章图片和所述文档数据生成所述待签电子文档,所述第一公钥为所述第一私钥对应的公钥。可选地,在所述根据签章私钥对所述第一数据包括的所述哈希值进行加密,得到签章数字签名之前,所述方法还包括:根据第二公钥对第二数字签名进行解密,若所述第二数字签名被所述第二公钥解密,确定所述第二数字签名通过验证,所述第二数字签名为所述服务器在发送所述第一数据时,发送至所述客户端的,根据第二私钥对所述第一数据进行加密得到的数字签名,所述第二公钥为所述第二私钥对应的公钥;所述根据签章私钥对所述第一数据包括的所述哈希值进行加密,得到签章数字签名,包括:若所述第二数字签名通过验证,根据所述签章私钥对所述第一数据包括的所述哈希值进行加密,得到所述签章数字签名;所述将所述第一数据和所述签章数字签名作为第二数据发送至所述服务器,包括:根据所述第一私钥将所述第二数据进行加密,得到第三数据签名;将所述第二数据和所述第三数据签名发送至所述服务器,以使所述服务器根据所述第一公钥对所述第三数字签名进行解密,并在所述第三数字签名被所述第一公钥解密,所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,且所述第二数据包括的所述签章数字签名通过验证的条件下,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成已签电子文档。根据本公开实施例的第三方面,提供一种电子文档的签章装置,应用于服务器,所述装置包括:接收模块,用于接收客户端发送的文档数据;第一生成模块,用于根据预先存储的印章图片和所述文档数据生成待签电子文档,所述待签电子文档中包括所述印章图片;获取模块,用于获取所述待签电子文档的哈希值和所述哈希值对应的随机数;发送模块,用于将第一数据发送至所述客户端,所述第一数据包括:所述待签电子文档、所述哈希值和所述随机数,以使所述客户端根据签章私钥对所述哈希值进行加密,得到签章数字签名,并将所述第一数据和所述签章数字签名作为第二数据,发送至所述服务器;第二生成模块,用于若所述客户端发送的所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,且所述第二数据包括的所述签章数字签名通过验证,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成已签电子文档,所述已签电子文档中包括所述印章图片和所述签章数字签名;所述发送模块,还用于将所述已签电子文档发送至所述客户端。根据本公开实施例的第四方面,提供一种电子文档的签章装置,应用于客户端,所述装置包括:发送模块,用于向服务器发送文档数据,以使所述服务器根据预先存储的印章图片和所述文档数据生成待签电子文档,获取所述待签电子文档的哈希值和所述哈希值对应的随机数,并将所述第一数据发送至所述客户端,所述第一数据包括:所述待签电子文档、所述哈希值和所述随机数;加密模块,用于根据签章私钥对所述第一数据包括的所述哈希值进行加密,得到签章数字签名;所述发送模块,还用于将所述第一数据和所述签章数字签名作为第二数据发送至所述服务器,以使所述服务器在所述第二数据包括的所述哈希值与所述第二数据包括的所述随机数匹配,且所述第二数据包括的所述签章数字签名通过验证的条件下,根据所述第二数据包括的所述待签电子文档、所述第二数据包括的所述哈希值和所述第二数据包括的所述签章数字签名生成已签电子文档,所述已签电子文档中包括所述印章图片和所述签章数字签名;接收模块,用于接收所述服务器发送的所述已签电子文档。根据本公开实施例的第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第一方面中任一项所述方法的步骤。根据本公开实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第二方面中任一项所述方法的步骤。根据本公开实施例的第七方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例的第一方面中任一项所述方法的步骤。根据本公开实施例的第八方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例的第二方面中任一项所述方法的步骤。通过上述技术方案,本公开中服务器首先接收客户端发送的文档数据,然后根据预先存储的印章图片和文档数据生成待签电子文档,其中待签电子文档中包括印章图片,之后获取待签电子文档的哈希值和哈希值对应的随机数,再将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数,以使客户端根据签章私钥对哈希值进行加密,得到签章数字签名,并将第一数据和签章数字签名作为第二数据,发送至服务器,若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名,最后将已签电子文档发送至客户端。本公开通过客户端和服务器之间的数据传输,来实现对电子文档的签章,服务器无需保存验证过程中产生的数据,也无需与其他服务器保持数据同步,提高了服务器的处理效率,能够根据需求扩充服务器的数量。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。附图说明附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:图1是根据一示例性实施例示出的一种电子文档的签章方法的流程图;图2是根据一示例性实施例示出的另一种电子文档的签章方法的流程图;图3是根据一示例性实施例示出的另一种电子文档的签章方法的流程图;图4是根据一示例性实施例示出的另一种电子文档的签章方法的流程图;图5是根据一示例性实施例示出的另一种电子文档的签章方法的流程图;图6是根据一示例性实施例示出的一种电子文档的签章方法的流程图;图7是根据一示例性实施例示出的另一种电子文档的签章方法的流程图;图8是根据一示例性实施例示出的一种电子文档的签章装置的框图;图9是根据一示例性实施例示出的另一种电子文档的签章装置的框图;图10是根据一示例性实施例示出的另一种电子文档的签章装置的框图;图11是根据一示例性实施例示出的一种电子文档的签章装置的框图;图12是根据一示例性实施例示出的另一种电子文档的签章装置的框图;图13是根据一示例性实施例示出的一种电子设备的框图;图14是根据一示例性实施例示出的一种电子设备的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的方法和装置的例子。在介绍本公开提供的电子文档的签章方法、装置、存储介质和电子设备之前,首先对本公开各个实施例所涉及的应用场景进行介绍。该应用场景中包括服务器和客户端,服务器和客户端之间能够通过物理连线或无线通信技术实现数据传输,例如服务器和客户端之间可以通过网线、光纤等物理连线来传输数据,也可以通过wlan(英文:wirelesslocalareanetwork,中文:无线局域网)、蓝牙、zigbee(中文:紫蜂协议)等无线通信技术实现数据交互。服务器可以包括但不限于:服务器集群或云端服务器等。客户端可以是智能手机、平板电脑、智能电视、pda(英文:personaldigitalassistant,中文:个人数字助理)、便携计算机等移动终端,也可以是台式计算机等固定终端。图1是根据一示例性实施例示出的一种电子文档的签章方法的流程图,如图1所示,该方法应用于服务器,包括以下步骤:步骤101,接收客户端发送的文档数据。步骤102,根据预先存储的印章图片和文档数据生成待签电子文档,待签电子文档中包括印章图片。举例来说,用户在需要对电子文档进行签章时,可以通过客户端将电子文档的文档数据发送至服务器。电子文档的格式例如可以是pdf(英文:portabledocumentformat,中文:便携式文档格式)、word(英文:microsoftofficeword,中文:文档)格式等。其中,文档数据能够反映电子文档中包含的数据内容。例如,当电子文档为电子发票时,相应的文档数据可以包括电子发票的服务名称、金额、税额、开票日期、客户名称等,当电子文档为电子合同时,相应的文档数据可以包括电子合同的甲方名称、乙方名称、合同内容、日期等。具体的,客户端在向服务器发送文档数据时,还可以将能够唯一指示客户端的客户端标识发送给服务器,以使服务器在接收到文档数据和客户端标识之后,能够根据客户端标识选择相应的印章图片,然后根据印章图片和文档数据生成待签电子文档。服务器接收到的客户端标识可以是一个,也可以是多个,即服务器能够同时对一个或多个客户端发送的文档数据进行处理。印章图片可以预先存储在服务器的数据库中,也可以预先存储在服务器能够通过网络访问的其他终端设备中。需要说明的是,在生成待签电子文档时,服务器除了印章图片和文档数据之外,还可以获取文档数据对应的属性信息,属性信息可以是客户端在发送文档数据的同时,发送的电子文档模板,也可以是预先存储在服务器上的电子文档模板,这样服务器就可以根据属性信息和文档数据,还原客户端上的电子文档,然后再将印章图片覆盖在电子文档上,以得到待签电子文档。步骤103,获取待签电子文档的哈希值和哈希值对应的随机数。步骤104,将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数,以使客户端根据签章私钥对哈希值进行加密,得到签章数字签名,并将第一数据和签章数字签名作为第二数据,发送至服务器。示例的,服务器生成待签电子文档之后,可以根据预设算法获取待签电子文档的哈希值,预设算法可以是任一种哈希算法,例可以是:md4(英文:messagedigest4)、md5(英文:messagedigest5)、sha(英文:securehashalgorithm)等任一种算法。得到待签电子文档的哈希值以后,服务器可以根据哈希值和预设的生成函数来生成随机数,随机数随着哈希值的变化而变化,相同的哈希值生成的随机数相同。需要说明的是,此处的随机数是根据哈希值通过生成函数来生成的,并不是真正意义的随机的数。获取到待签电子文档的哈希值和哈希值对应的随机数后,由服务器将待签电子文档、哈希值、随机数作为第一数据发送至客户端。以使客户端在接收到第一数据后,根据签章私钥对第一数据中的哈希值进行加密,从而得到签章数字签名,并将签章数字签名和第一数据作为第二数据发送至服务器。签章私钥存储在客户端中,是客户端独有的私钥,签章私钥对应签章公钥,签章公钥可以保存在服务器上,由签章私钥加密的内容只能用签章公钥解密。客户端对应的签章公钥例如可以发布在网络上,由任意一台服务器在需要根据签章公钥对数据进行解密时获取,服务器也可以通过向客户端发送邮件的方式来请求获取签章公钥,本公开对此不作限定。步骤105,若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名。步骤106,将已签电子文档发送至客户端。举例来说,客户端向服务器发送的第二数据中包括待签电子文档、哈希值、随机数和签章数字签名,那么服务器接收到第二数据之后,首先判断第二数据中包括的哈希值与第二数据中包括的随机数是否匹配,例如可以根据第二数据中的哈希值和预设的生成函数来生成随机数,通过检验新生成的随机数与第二数据中包括的随机数是否一致的方式来判断第二数据中的哈希值与随机数是否匹配,即若新生成的随机数与第二数据中包括的随机数一致,说明第二数据中包括的哈希值与第二数据中包括的随机数匹配,若新生成的随机数与第二数据中包括的随机数不一致,说明第二数据中包括的哈希值与第二数据中包括的随机数不匹配。若第二数据中包括的哈希值与第二数据中包括的随机数不匹配,说明第一数据和/或第二数据中的数据内容在传输过程中发生了变化,此时服务器可以将第二数据丢弃。若第二数据中包括的哈希值与第二数据中包括的随机数匹配,说明第一数据和第二数据中的数据内容在传输过程中没有发生变化,此时可以通过服务器上的签章公钥对第二数据中包括的签章数字签名进行验证。服务器上的签章公钥与客户端上的签章私钥是一一对应的,服务器能够根据签章公钥对客户端使用签章私钥加密的签章数字签名进行解密,从而完成对签章数字签名的验证。若第二数据中的签章数字签名通过验证,说明客户端为签章公钥对应的客户端,服务器可以对第二数据进行进一步的处理,若第二数据中的签章数字签名未通过验证,说明客户端不是签章公钥对应的客户端,服务器可以将第二数据丢弃。只有在客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证时,服务器才能对第二数据进行进一步的处理。具体的,服务器根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,然后将已签电子文档发送至客户端。其中,已签电子文档中包括印章图片和签章数字签名,可以理解为,由签章数字签名对包括了印章图片的整个电子文档进行加密,以实现对电子文档的签章。需要说明的是,本实施例中,服务器不需要对步骤101至步骤106中任意一个步骤所产生的数据进行存储,那么相应的,服务器集群中的多个服务器,也无需进行数据同步,提高了服务器的处理效率,便于对服务器的数量进行扩容。若想扩充服务器集群中的服务器数量,直接增加服务器即可,而不需要使新增的服务器与原有的服务器上的数据保持同步。以服务器集群中包括四个服务器a、b、c、d为例,客户端可以将文档数据发送至服务器a,服务器a将生成的第一数据发送至客户端后,客户端可以将生成的第二数据发送至服务器b(或者服务器c、服务器d),由服务器b来生成已签电子文档,并将已签电子文档发送至客户端,即步骤101至步骤104的执行主体是服务器a,步骤105至步骤106的执行主体是服务器b。在此过程中,服务器b不需要与服务器a保持数据同步。综上所述,本公开中服务器首先接收客户端发送的文档数据,然后根据预先存储的印章图片和文档数据生成待签电子文档,其中待签电子文档中包括印章图片,之后获取待签电子文档的哈希值和哈希值对应的随机数,再将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数,以使客户端根据签章私钥对哈希值进行加密,得到签章数字签名,并将第一数据和签章数字签名作为第二数据,发送至服务器,若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名,最后将已签电子文档发送至客户端。本公开通过客户端和服务器之间的数据传输,来实现对电子文档的签章,服务器无需保存验证过程中产生的数据,也无需与其他服务器保持数据同步,提高了服务器的处理效率,能够根据需求扩充服务器的数量。图2是根据一示例性实施例示出的另一种电子文档的签章方法的流程图,如图2所示,步骤103包括:步骤1031,将待签电子文档作为预设算法输入,以得到预设算法输出的哈希值。步骤1032,将哈希值作为种子,生成随机数。举例来说,服务器根据预先存储的印章图片和接收的文档数据生成待签电子文档之后,可以将待签电子文档输入预设算法,由预设算法对待签电子文档中的内容进行处理,以得到预设算法输出的待签电子文档的哈希值。预设算法例如可以是md4、md5、sha等。进一步的,将待签电子文档的哈希值作为随机种子seed,通过预设的随机数生成函数来生成与哈希值对应的随机数。图3是根据一示例性实施例示出的另一种电子文档的签章方法的流程图,如图3所示,在步骤105之前,该方法还包括:步骤107,将第二数据包括的哈希值作为种子,生成目标随机数,若第二数据包括的随机数与目标随机数相同,确定第二数据包括的哈希值与第二数据包括的随机数匹配。步骤108,根据签章公钥对第二数据包括的签章数字签名进行解密,签章公钥为签章私钥对应的公钥,若第二数据包括的签章数字签名被签章公钥解密,确定第二数据包括的签章数字签名通过验证。示例的,服务器接收到客户端发送的第二数据之后,首先需要判断第二数据包括的哈希值与第二数据包括的随机数是否匹配。具体的,服务器可以将第二数据包括的哈希值作为种子,生成目标随机数,若目标随机数与第二数据包括的随机数相同,确定第二数据包括的哈希值与第二数据包括的随机数匹配,服务器还需要继续对第二数据包括的签章数字签名进行验证,否则,服务器可以直接丢弃第二数据,不再对第二数据中的签章数字签名进行验证。服务器继续对第二数据包括的签章数字签名进行验证时,根据签章公钥对签章数字签名进行解密,服务器的签章公钥为客户端的签章私钥对应的公钥,服务器能够根据签章公钥对客户端使用签章私钥加密的签章数字签名进行解密。若签章公钥能够对签章数字签名进行解密,说明第二数据是由签章公钥对应的客户端发送的,此时可以确定第二数据包括的签章数字签名通过验证,否则,可以确定第二数据包括的签章数字签名未通过验证。图4是根据一示例性实施例示出的另一种电子文档的签章方法的流程图,如图4所示,步骤101用于:接收客户端发送的文档数据和第一数字签名,第一数字签名为客户端根据第一私钥对文档数据进行加密得到的数字签名。在步骤101之后,该方法还包括:步骤109,根据第一公钥对第一数字签名进行解密,第一公钥为第一私钥对应的公钥。若第一数字签名被第一公钥解密,确定第一数字签名通过验证。相应的,步骤102用于:若第一数字签名通过验证,根据印章图片和文档数据生成待签电子文档。举例来说,客户端向服务器发送文档数据的同时,还可以向服务器发送第一数字签名,由服务器接收文档数据和第一数字签名,第一数字签名为客户端根据第一私钥对文档数据进行加密得到的数字签名,服务器能够根据第一公钥对第一数字签名进行解密,以完成对第一数字签名的验证。其中,服务器上的第一公钥与客户端上的第一私钥是一一对应的,服务器例如可以通过网络获取相应客户端对应的第一公钥,也可以通过向相应客户端发送邮件等方式来获取第一公钥。若第一数字签名能够被第一公钥解密,说明客户端是第一公钥对应的客户端,即确认文档数据是客户端发送的,确定第一数字签名通过验证。之后,服务器可以根据预先存储的印章图片和接收的文档数据生成待签电子文档。若第一数字签名不能被第一公钥解密,说明客户端不是第一公钥对应的客户端,确定第一数字签名未通过验证,此时,服务器可以将接收到的文档数据和第一数字签名丢弃。图5是根据一示例性实施例示出的另一种电子文档的签章方法的流程图,如图5所示,步骤104用于:将第一数据和第二数字签名发送至客户端,第二数字签名为服务器根据第二私钥对第一数据进行加密得到的数字签名,以使客户端在第二数字签名通过验证的条件下,根据签章私钥对哈希值进行加密,得到签章数字签名,并将第二数据和第三数字签名发送至服务器,第三数字签名为客户端根据第一私钥对第二数据进行加密得到的数字签名。在步骤105之前,该方法还包括:步骤110,根据第一公钥对第三数字签名进行解密。若第三数字签名被第一公钥解密,确定第三数字签名通过验证。相应的,步骤105用于:若第二数据包括的哈希值与第二数据包括的随机数匹配,第二数据包括的签章数字签名通过验证,且第三数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档。示例的,服务器将第一数据发送至客户端的同时,还可以将第二数字签名发送至客户端,由客户端接收第一数据和第二数字签名,第二数字签名为服务器根据第二私钥对第一数据进行加密得到的数字签名,第二私钥为服务器独有的私钥,服务器上的第二私钥与客户端上的第二公钥是一一对应的,由第二私钥加密的第二数字签名只能用第二公钥解密。第二私钥对应的第二公钥例如可以发布在网络上,由任意一台客户端在需要根据第二公钥对第一数据的第二数字签名进行解密时获取,客户端也可以通过向服务器发送邮件等方式来获取第二公钥。这样,客户端就可以根据第二公钥对第二数字签名进行解密,以完成对第二数字签名的验证。若第二公钥不能对第二数字签名进行解密,说明服务器不是第二公钥对应的服务器,确定第二数字签名未通过验证,客户端可以将接收到的第一数据和第二数字签名丢弃。若第二公钥能够对第二数字签名进行解密,说明服务器是第二公钥对应的服务器,确定第二数字签名通过验证。之后,客户端可以根据签章私钥对第一数据中的哈希值进行加密,得到签章数字签名,并根据第一私钥对由签章数字签名、第一数据组成的第二数据进行加密,以获得第三数字签名,然后再将第二数据和第三数字签名发送至服务器。服务器接收到客户端发送的第二数据和第三数字签名之后,根据第一公钥对第三数字签名进行解密。若第三数字签名不能被第一公钥解密,说明客户端不是第一公钥对应的客户端,确定第三数字签名未通过验证,此时服务器可以将接收到的第二数据和第三数字签名丢弃。若第三数字签名被第一公钥解密,说明客户端是第一公钥对应的客户端,确定第三数字签名通过验证。进一步的,可以再判断第二数据包括的哈希值是否与第二数据包括的随机数匹配,然后判断第二数据包括的签章数字签名是否能够通过签章公钥的验证。只有在第二数据包括的哈希值与第二数据包括的随机数匹配,第二数据包括的签章数字签名通过验证,且第三数字签名通过验证的条件下,服务器才能根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,否则,服务器可以将接收到的所有数据丢弃。综上所述,本公开中服务器首先接收客户端发送的文档数据,然后根据预先存储的印章图片和文档数据生成待签电子文档,其中待签电子文档中包括印章图片,之后获取待签电子文档的哈希值和哈希值对应的随机数,再将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数,以使客户端根据签章私钥对哈希值进行加密,得到签章数字签名,并将第一数据和签章数字签名作为第二数据,发送至服务器,若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名,最后将已签电子文档发送至客户端。本公开通过客户端和服务器之间的数据传输,来实现对电子文档的签章,服务器无需保存验证过程中产生的数据,也无需与其他服务器保持数据同步,提高了服务器的处理效率,能够根据需求扩充服务器的数量。图6是根据一示例性实施例示出的一种电子文档的签章方法的流程图,如图6所示,该方法应用于客户端,包括以下步骤:步骤201,向服务器发送文档数据,以使服务器根据预先存储的印章图片和文档数据生成待签电子文档,获取待签电子文档的哈希值和哈希值对应的随机数,并将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数。步骤202,根据签章私钥对第一数据包括的哈希值进行加密,得到签章数字签名。举例来说,用户在需要对电子文档进行签章时,可以通过客户端将电子文档的文档数据发送至服务器,以使服务器在接收到文档数据之后,能够根据文档数据和预先存储的印章图片生成待签电子文档。服务器生成待签电子文档之后,可以根据预设算法获取待签电子文档的哈希值,并根据哈希值和预设的生成函数来生成随机数,其中,预设算法可以是任一种哈希算法,例如可以是md4、md5、sha等,得到待签电子文档的哈希值以后,服务器可以根据哈希值和预设的生成函数来生成随机数,随机数随着哈希值的变化而变化,相同的哈希值生成的随机数相同。获取到待签电子文档的哈希值和哈希值对应的随机数后,由服务器将待签电子文档、哈希值、随机数作为第一数据发送至客户端。客户端在接收到第一数据之后,根据签章私钥对第一数据中的哈希值进行加密,从而得到签章数字签名。签章私钥存储在客户端中,是客户端独有的私钥,签章私钥对应签章公钥,签章公钥可以保存在服务器上,由签章私钥加密的内容只能用签章公钥解密。步骤203,将第一数据和签章数字签名作为第二数据发送至服务器,以使服务器在第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证的条件下,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名。步骤204,接收服务器发送的已签电子文档。示例的,客户端将第一数据和签章数字签名作为第二数据发送至服务器,以使服务器判断第二数据中包括的哈希值与第二数据中包括的随机数是否匹配。例如服务器可以根据第二数据中的哈希值和预设的生成函数来生成随机数,通过检验新生成的随机数与第二数据中包括的随机数是否一致的方式来判断第二数据中的哈希值与随机数是否匹配,即若新生成的随机数与第二数据中包括的随机数一致,说明第二数据中包括的哈希值与第二数据中包括的随机数匹配,若新生成的随机数与第二数据中包括的随机数不一致,说明第二数据中包括的哈希值与第二数据中包括的随机数不匹配。若第二数据中包括的哈希值与第二数据中包括的随机数不匹配,说明第一数据和/或第二数据中的数据内容在传输过程中发生了变化,此时服务器可以将第二数据丢弃。若第二数据中包括的哈希值与第二数据中包括的随机数匹配,说明第一数据和第二数据中的数据内容在传输过程中没有发生变化,此时可以通过服务器上的签章公钥对第二数据中包括的签章数字签名进行验证。若第二数据中的签章数字签名通过验证,说明客户端为签章公钥对应的客户端,服务器可以根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,并将已签电子文档发送至客户端,再由客户端接收已签电子文档。若第二数据中的签章数字签名未通过验证,说明客户端不是签章公钥对应的客户端,服务器可以将第二数据丢弃,并向客户端发送提示信息,以提示用户签章失败。可选地,步骤201用于:向服务器发送文档数据和第一数字签名,第一数字签名为客户端根据第一私钥对文档数据进行加密得到的数字签名,以使服务器根据第一公钥对第一数字签名进行解密,并在第一数字签名被第一公钥解密的条件下,根据印章图片和文档数据生成待签电子文档,第一公钥为第一私钥对应的公钥。举例来说,客户端向服务器发送文档数据的同时,还可以向服务器发送第一数字签名,由服务器接收文档数据和第一数字签名,其中,第一数字签名为客户端根据第一私钥对文档数据进行加密得到的数字签名。客户端上的第一私钥与服务器上的第一公钥是一一对应的。服务器接收到文档数据和第一数字签名之后,首先根据第一公钥对第一数字签名进行解密。若第一数字签名能够被第一公钥解密,说明客户端是第一公钥对应的客户端,即确认文档数据是客户端发送的,确定第一数字签名通过验证,之后,服务器可以根据预先存储的印章图片和接收的文档数据生成待签电子文档。若第一数字签名不能被第一公钥解密,说明客户端不是第一公钥对应的客户端,确定第一数字签名未通过验证,此时,服务器可以将接收到的文档数据和第一数字签名丢弃。图7是根据一示例性实施例示出的另一种电子文档的签章方法的流程图,如图7所示,在步骤202之前,该方法还包括:步骤205,根据第二公钥对第二数字签名进行解密,若第二数字签名被第二公钥解密,确定第二数字签名通过验证,第二数字签名为服务器在发送第一数据时,发送至客户端的,根据第二私钥对第一数据进行加密得到的数字签名,第二公钥为第二私钥对应的公钥。步骤202用于:若第二数字签名通过验证,根据签章私钥对第一数据包括的哈希值进行加密,得到签章数字签名。步骤203包括:步骤2031,根据第一私钥将第二数据进行加密,得到第三数据签名。步骤2032,将第二数据和第三数据签名发送至服务器,以使服务器根据第一公钥对第三数字签名进行解密,并在第三数字签名被第一公钥解密,第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证的条件下,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档。示例的,服务器还可以通过存储在服务器上的第二私钥对第一数据进行加密,以得到第二数字签名,然后将第二数字签名和第一数据同时发送给客户端,再由客户端接收第二数字签名和第一数据。客户端接收到第二数字签名和第一数据之后,首先根据存储在客户端上的第二公钥对第二数字签名进行解密,客户端上的第二公钥为服务器上的第二私钥对应的公钥。客户端可以根据第二公钥对第二数字签名进行解密,以完成对第二数字签名的验证。若第二公钥不能对第二数字签名进行解密,说明服务器不是第二公钥对应的服务器,确定第二数字签名未通过验证,客户端可以将接收到的第一数据和第二数字签名丢弃。若第二公钥能够对第二数字签名进行解密,说明服务器是第二公钥对应的服务器,确定第二数字签名通过验证,之后,客户端可以根据签章私钥对第一数据中的哈希值进行加密,得到签章数字签名。获得签章数字签名以后,客户端根据第一私钥对由签章数字签名、第一数据组成的第二数据进行加密,以获得第三数字签名,然后再将第二数据和第三数字签名发送至服务器。服务器接收到客户端发送的第二数据和第三数字签名之后,根据第一公钥对第三数字签名进行解密。若第三数字签名不能被第一公钥解密,说明客户端不是第一公钥对应的客户端,确定第三数字签名未通过验证,此时服务器可以将接收到的第二数据和第三数字签名丢弃。若第三数字签名被第一公钥解密,说明客户端是第一公钥对应的客户端,确定第三数字签名通过验证。进一步的,可以再判断第二数据包括的哈希值是否与第二数据包括的随机数匹配,然后再判断第二数据包括的签章数字签名是否能够通过签章公钥的验证。只有在第二数据包括的哈希值与第二数据包括的随机数匹配,第二数据包括的签章数字签名通过验证,且第三数字签名通过验证的条件下,服务器才能根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,否则,服务器可以将接收到的所有数据丢弃。综上所述,本公开中客户端首先向服务器发送文档数据,以使服务器根据预先存储的印章图片和文档数据生成待签电子文档,获取待签电子文档的哈希值和哈希值对应的随机数,并将第一数据发送至客户端,其中第一数据包括:待签电子文档、哈希值和随机数,然后根据签章私钥对第一数据包括的哈希值进行加密,得到签章数字签名,之后将第一数据和签章数字签名作为第二数据发送至服务器,以使服务器在第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证的条件下,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,最后接收服务器发送的已签电子文档。本公开通过客户端和服务器之间的数据传输,来实现对电子文档的签章,服务器无需保存验证过程中产生的数据,也无需与其他服务器保持数据同步,提高了服务器的处理效率,能够根据需求扩充服务器的数量。图8是根据一示例性实施例示出的一种电子文档的签章装置的框图,如图8所示,该装置300应用于服务器,包括:接收模块301,用于接收客户端发送的文档数据。第一生成模块302,用于根据预先存储的印章图片和文档数据生成待签电子文档,待签电子文档中包括印章图片。获取模块303,用于获取待签电子文档的哈希值和哈希值对应的随机数。发送模块304,用于将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数,以使客户端根据签章私钥对哈希值进行加密,得到签章数字签名,并将第一数据签章数字签名作为第二数据,发送至服务器。第二生成模块305,用于若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名。发送模块304,还用于将已签电子文档发送至客户端。图9是根据一示例性实施例示出的另一种电子文档的签章装置的框图,如图9所示,获取模块303包括:输入子模块3031,用于将待签电子文档作为预设算法输入,以得到预设算法输出的哈希值。生成子模块3032,用于将哈希值作为种子,生成随机数。图10是根据一示例性实施例示出的另一种电子文档的签章装置的框图,如图10所示,该装置300还包括:第三生成模块306,用于在若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档之前,将第二数据包括的哈希值作为种子,生成目标随机数,若第二数据包括的随机数与目标随机数相同,确定第二数据包括的哈希值与第二数据包括的随机数匹配。解密模块307,用于根据签章公钥对第二数据包括的签章数字签名进行解密,签章公钥为签章私钥对应的公钥,若第二数据包括的签章数字签名被签章公钥解密,确定第二数据包括的签章数字签名通过验证。可选地,接收模块301用于:接收客户端发送的文档数据和第一数字签名,第一数字签名为客户端根据第一私钥对文档数据进行加密得到的数字签名。解密模块307还用于:在接收客户端发送的文档数据之后,根据第一公钥对第一数字签名进行解密,第一公钥为第一私钥对应的公钥。若第一数字签名被第一公钥解密,确定第一数字签名通过验证。第一生成模块302用于:若第一数字签名通过验证,根据印章图片和文档数据生成待签电子文档。可选地,发送模块304用于:将第一数据和第二数字签名发送至客户端,第二数字签名为服务器根据第二私钥对第一数据进行加密得到的数字签名,以使客户端在第二数字签名通过验证的条件下,根据签章私钥对哈希值进行加密,得到签章数字签名,并将第二数据和第三数字签名发送至服务器,第三数字签名为客户端根据第一私钥对第二数据进行加密得到的数字签名。解密模块307还用于:在若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档之前,根据第一公钥对第三数字签名进行解密。若第三数字签名被第一公钥解密,确定第三数字签名通过验证。第二生成模块305用于:若第二数据包括的哈希值与第二数据包括的随机数匹配,第二数据包括的签章数字签名通过验证,且第三数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。综上所述,本公开中服务器首先接收客户端发送的文档数据,然后根据预先存储的印章图片和文档数据生成待签电子文档,其中待签电子文档中包括印章图片,之后获取待签电子文档的哈希值和哈希值对应的随机数,再将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数,以使客户端根据签章私钥对哈希值进行加密,得到签章数字签名,并将第一数据和签章数字签名作为第二数据,发送至服务器,若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名,最后将已签电子文档发送至客户端。本公开通过客户端和服务器之间的数据传输,来实现对电子文档的签章,服务器无需保存验证过程中产生的数据,也无需与其他服务器保持数据同步,提高了服务器的处理效率,能够根据需求扩充服务器的数量。图11是根据一示例性实施例示出的一种电子文档的签章装置的框图,如图11所示,该装置400应用于客户端,包括:发送模块401,用于向服务器发送文档数据,以使服务器根据预先存储的印章图片和文档数据生成待签电子文档,获取待签电子文档的哈希值和哈希值对应的随机数,并将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数。加密模块402,用于根据签章私钥对第一数据包括的哈希值进行加密,得到签章数字签名。发送模块401,还用于将第一数据和签章数字签名作为第二数据发送至服务器,以使服务器在第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证的条件下,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名。接收模块403,用于接收服务器发送的已签电子文档。可选地,发送模块401用于:向服务器发送文档数据和第一数字签名,第一数字签名为客户端根据第一私钥对文档数据进行加密得到的数字签名,以使服务器根据第一公钥对第一数字签名进行解密,并在第一数字签名被第一公钥解密的条件下,根据印章图片和文档数据生成待签电子文档,第一公钥为第一私钥对应的公钥。图12是根据一示例性实施例示出的另一种电子文档的签章装置的框图,如图12所示,该装置400还包括:解密模块404,用于在根据签章私钥对第一数据包括的哈希值进行加密,得到签章数字签名之前,根据第二公钥对第二数字签名进行解密,若第二数字签名被第二公钥解密,确定第二数字签名通过验证,第二数字签名为服务器在发送第一数据时,发送至客户端的,根据第二私钥对第一数据进行加密得到的数字签名,第二公钥为第二私钥对应的公钥。加密模块402用于:若第二数字签名通过验证,根据签章私钥对第一数据包括的哈希值进行加密,得到签章数字签名。发送模块401包括:加密子模块4011,用于根据第一私钥将第二数据进行加密,得到第三数据签名。发送子模块4012,用于将第二数据和第三数据签名发送至服务器,以使服务器根据第一公钥对第三数字签名进行解密,并在第三数字签名被第一公钥解密,第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证的条件下,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。综上所述,本公开中客户端首先向服务器发送文档数据,以使服务器根据预先存储的印章图片和文档数据生成待签电子文档,获取待签电子文档的哈希值和哈希值对应的随机数,并将第一数据发送至客户端,其中第一数据包括:待签电子文档、哈希值和随机数,然后根据签章私钥对第一数据包括的哈希值进行加密,得到签章数字签名,之后将第一数据和签章数字签名作为第二数据发送至服务器,以使服务器在第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证的条件下,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,最后接收服务器发送的已签电子文档。本公开通过客户端和服务器之间的数据传输,来实现对电子文档的签章,服务器无需保存验证过程中产生的数据,也无需与其他服务器保持数据同步,提高了服务器的处理效率,能够根据需求扩充服务器的数量。图13是根据一示例性实施例示出的一种电子设备700的框图。如图13所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。其中,处理器701用于控制该电子设备700的整体操作,以完成上述的应用于客户端的电子文档的签章方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g、4g、nb-iot、emtc、或其他5g等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块等等。在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用于客户端的电子文档的签章方法。在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的应用于客户端的电子文档的签章方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的应用于客户端的电子文档的签章方法。综上所述,本公开中客户端首先向服务器发送文档数据,以使服务器根据预先存储的印章图片和文档数据生成待签电子文档,获取待签电子文档的哈希值和哈希值对应的随机数,并将第一数据发送至客户端,其中第一数据包括:待签电子文档、哈希值和随机数,然后根据签章私钥对第一数据包括的哈希值进行加密,得到签章数字签名,之后将第一数据和签章数字签名作为第二数据发送至服务器,以使服务器在第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证的条件下,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,最后接收服务器发送的已签电子文档。本公开通过客户端和服务器之间的数据传输,来实现对电子文档的签章,服务器无需保存验证过程中产生的数据,也无需与其他服务器保持数据同步,提高了服务器的处理效率,能够根据需求扩充服务器的数量。图14是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图14,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的应用于服务器的电子文档的签章方法。另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm等等。在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的应用于服务器的电子文档的签章方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的应用于服务器的电子文档的签章方法。在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的应用于服务器的电子文档的签章方法的代码部分。综上所述,本公开中服务器首先接收客户端发送的文档数据,然后根据预先存储的印章图片和文档数据生成待签电子文档,其中待签电子文档中包括印章图片,之后获取待签电子文档的哈希值和哈希值对应的随机数,再将第一数据发送至客户端,第一数据包括:待签电子文档、哈希值和随机数,以使客户端根据签章私钥对哈希值进行加密,得到签章数字签名,并将第一数据和签章数字签名作为第二数据,发送至服务器,若客户端发送的第二数据包括的哈希值与第二数据包括的随机数匹配,且第二数据包括的签章数字签名通过验证,根据第二数据包括的待签电子文档、第二数据包括的哈希值和第二数据包括的签章数字签名生成已签电子文档,已签电子文档中包括印章图片和签章数字签名,最后将已签电子文档发送至客户端。本公开通过客户端和服务器之间的数据传输,来实现对电子文档的签章,服务器无需保存验证过程中产生的数据,也无需与其他服务器保持数据同步,提高了服务器的处理效率,能够根据需求扩充服务器的数量。以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其他实施方案,均属于本公开的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1