一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的电子文件签署方法、装置、设备和介质与流程

2022-11-19 17:03:12 来源:中国专利 TAG:


1.本公开涉及区块链技术、电子签约技术,尤其是一种基于区块链的电子文件签署方法、装置、设备和介质。


背景技术:

2.随着区块链技术的不断发展,以区块链技术为基础的电子签约技术也随之兴起。在电子签约过程中,需要确保文件的签约主体的身份以及意愿的真实性。现有技术中,通常需要借助硬件介质ukey来保证签约主体的身份以及签约意愿的真实性,但是该种电子签约方式的签约流程较为繁琐。


技术实现要素:

3.本公开实施例提供一种基于区块链的电子文件签署方法、装置、设备和介质,以解决如何在保证签约主体身份以及签约意愿真实性的同时,提高签约流程的便捷性的问题。
4.本公开实施例的一个方面,提供了一种基于区块链的电子文件签署方法,包括:签约终端接收认证方发送的证书源文件和认证方信息,其中,所述认证方信息包括:所述认证方的数字身份、身份可信凭证、第一公私密钥对中公钥和第二公私密钥对中公钥,所述第一公私密钥中公钥与所述第二公私密钥对中公钥相同,所述第一公私密钥对由所述认证方生成,所述第二公私密钥对由第三方生成,所述证书源文件包括企业方的数字身份和企业名称;所述签约终端对所述认证方的身份可信凭证进行验证;响应于所述认证方的身份可信凭证通过验证,所述签约终端基于所述证书源文件和所述认证方的数字身份,生成待签电子认证凭证;所述签约终端将所述待签电子认证凭证存储至区块链;所述认证方分别利用所述第一公私密钥对中私钥和所述第二公私密钥对中私钥对所述待签电子认证凭证进行签名处理,得到初始电子认证凭证;所述签约终端确定所述初始电子认证凭证是否符合预设签约条件;响应于所述初始电子认证凭证符合所述预设签约条件,所述签约终端将所述初始电子认证凭证确定为电子认证凭证;所述签约终端将所述电子认证凭证以及所述第一公私密钥对中公钥或所述第二公私密钥对中公钥存储至所述区块链。
5.可选地,在本公开上述任一实施例的方法中,所述签约终端确定所述初始电子认证凭证是否符合预设签约条件,包括:响应于生成所述待签电子认证凭证与生成所述初始电子认证凭证之间的时长小于或等于预设时长,且所述初始电子认证凭证的签名符合预设签名完整条件,确定所述初始电子认证凭证符合预设签约条件;将所述初始电子认证凭证确定为电子认证凭证;所述签约终端基于所述认证方信息和所述电子认证凭证,生成签约文档;利用所述签约终端的公私密钥对中私钥对所述签约文档进行签名;将签名后的所述签约文档存储至所述区块链。
6.可选地,在本公开上述任一实施例的方法中,还包括:所述认证方对所述企业方的身份可信凭证进行验证;响应于所述企业方的身份可信凭证通过验证,所述认证方基于所述企业方的数字身份生成所述证书源文件。
7.可选地,在本公开上述任一实施例的方法中,还包括:利用签约终端的公私密钥对中私钥对所述证书源文件进行签名,并将签名后的所述证书源文件存储至所述区块链;所述签约终端将所述待签电子认证凭证存储至区块链,包括:利用所述签约终端的公私密钥对中私钥对所述待签电子认证凭证进行签名,并将签名后的所述待签电子认证凭证存储至所述区块链。
8.可选地,在本公开上述任一实施例的方法中,所述电子认证凭证包括:凭证标识、所述认证方的数字身份和所述认证方的名称;所述方法还包括:所述签约终端接收查询方发送的凭证查询请求,其中,所述凭证查询请求包括:待查询的电子认证凭证的凭证标识、认证方的数字身份或认证方的名称;所述签约终端基于所述凭证查询请求,获取与所述凭证查询请求对应的电子认证凭证;响应于与所述凭证查询请求对应的电子认证凭证的属性为预设属性,所述签约终端将与所述凭证查询请求对应的电子认证凭证反馈所述查询方。
9.可选地,在本公开上述任一实施例的方法中,还包括:所述签约终端接收所述查询方发送的凭证验证请求,其中,所述凭证验证请求包括待查验的电子认证凭证;基于预设算法,根据所述待查验的电子认证凭证,确定所述待查验的电子认证凭证的凭证特征;基于所述待查验的电子认证凭证的凭证特征和凭证特征与凭证标识对应列表,确定是否存在与所述待查验的电子认证凭证的凭证特征对应的凭证标识;响应于存在与所述待查验的电子认证凭证的凭证特征对应的凭证标识,将与所述待查验的电子认证凭证的凭证特征对应的凭证标识作为目标凭证标识;确定所述目标凭证标识是否存在于禁止查询名单中;响应于所述目标凭证标识不存在于所述禁止查询名单中,将所述目标凭证标识所标识的电子认证凭证的凭证特征作为目标凭证特征;基于所述目标凭证特征和所述待查验的电子认证凭证的凭证特征,确定查验结果,并将查验结果反馈所述查询方。
10.本公开实施例的一个方面,提供了一种基于区块链的电子文件签署装置,其特征在于,包括:第一接收模块,用于签约终端接收认证方发送的证书源文件和认证方信息,其中,所述认证方信息包括:所述认证方的数字身份、身份可信凭证、第一公私密钥对中公钥和第二公私密钥对中公钥,所述第一公私密钥中公钥与所述第二公私密钥对中公钥相同,所述第一公私密钥对由所述认证方生成,所述第二公私密钥对由第三方生成,所述证书源文件包括企业方的数字身份和企业名称;第一验证模块,用于所述签约终端对所述认证方的身份可信凭证进行验证;第一生成模块,用于响应于所述认证方的身份可信凭证通过验证,所述签约终端基于所述证书源文件和所述认证方的数字身份,生成待签电子认证凭证;第一存储模块,用于所述签约终端将所述待签电子认证凭证存储至区块链;第一签名模块,用于所述认证方分别利用所述第一公私密钥对中私钥和所述第二公私密钥对中私钥对所述待签电子认证凭证进行签名处理,得到初始电子认证凭证;第二验证模块,用于所述签约终端确定所述初始电子认证凭证是否符合预设签约条件;第一确定模块,响应于所述初始电子认证凭证符合所述预设签约条件,所述签约终端将所述初始电子认证凭证确定为电子认证凭证;第二存储模块,用于所述签约终端将所述电子认证凭证以及所述第一公私密钥对中公钥或所述第二公私密钥对中公钥存储至所述区块链。
11.可选地,在本公开上述任一实施例的方法中,所述第二验证模块包括:校验子模块,用于响应于生成所述待签电子认证凭证与生成所述初始电子认证凭证之间的时长小于或等于预设时长,且所述初始电子认证凭证中的签名符合预设签名完整条件,确定所述初
始电子认证凭证符合预设签约条件;确认子模块,用于将所述初始电子认证凭证确定为电子认证凭证;生成子模块,用于所述签约终端基于所述认证方信息和所述电子认证凭证,生成签约文档;签名子模块,用于利用所述签约终端的公私密钥对中私钥对所述签约文档进行签名;存储在模块,用于将签名后的所述签约文档存储至所述区块链。
12.本公开实施例的一个方面,提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述任一所述的方法。
13.本公开实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述任一所述的方法。
14.本公开实施例提供了一种基于区块链的电子文件签署方法、装置、设备和介质,签约终端对认证方的身份可信凭证进行验证,当验证通过,签约终端根据证书源文件和认证方的数字身份得到待签电子认证凭证,同时将待签电子认证凭证存储到区块链,认证方利用其第一公私密钥对中私钥和第二公私密钥对中私钥对待签电子认证凭证进行签名,得到初始电子认证凭证;当签约终端确定初始电子认证凭证符合预设签约条件时,将初始电子认证凭证确定为电子认证凭证,同时签约终端将电子认证凭证以及第一公私密钥对中公钥或第二公私密钥对中公钥存储到区块链。由此,本公开实施例中,通过签约终端对认证方的身份可信凭证进行验证,以及认证方利用其第一公私密钥对中私钥和第二公私密钥对中私钥对待签电子认证凭证进行签名,有效的确保了认证方的身份和签署意愿的真实性,且无需借助其他硬件介质(如ukey等),极大的提高了电子认证凭证签署流程的便捷性。另外,本公开实施例中对电子认证凭证签署过程中各阶段生成的文件均存储在区块链上,实现了对签署电子认证凭证的全流程记录,便于后续对电子认证凭证签署流程的各阶段的文件管理和查询。同时,本公开实施例中同时利用第一公私密钥对中私钥和第二公私密钥对中私钥进行签名,不仅提高了电子认证凭证的可信性,而且由于第一公私密钥对中公钥和第二公私密钥对中公钥相同,所以当需要对电子认证凭证的签名进行验证时,仅需使用第一公私密钥对公钥或第二公私密钥对中公钥验证即可,提高了用户的使用体验。
15.下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
16.构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
17.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:图1为本公开实施例的基于区块链的电子文件签署方法一个实施例的流程图;图2为本公开实施例的步骤s160的流程图;图3为本公开实施例的基于区块链的电子文件签署方法一个实施例的流程图;图4为本公开实施例的基于区块链的电子文件签署方法一个实施例的流程图;图5为本公开实施例的基于区块链的电子文件签署方法一个实施例的流程图;图6为本公开实施例的基于区块链的电子文件签署装置一个实施例的结构示意图;图7为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
18.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
19.本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
20.还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
21.还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
22.另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
23.还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
24.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
25.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
26.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
27.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
28.本公开实施例可以应用于终端设备、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与终端设备、计算机系统、服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
29.终端设备、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
30.图1示出本公开实施例中基于区块链的电子文件签署方法的流程示意图。本实施例可应用在电子设备上,如图1所示,本实施例的基于区块链的电子文件签署方法包括如下步骤:
步骤s110,签约终端接收认证方发送的证书源文件和认证方信息。
31.其中,该认证方信息包括:认证方的数字身份、身份可信凭证、第一公私密钥对中公钥和第二公私密钥对中公钥,第一公私密钥中公钥与第二公私密钥对中公钥相同,第一公私密钥对由认证方生成,第二公私密钥对由第三方生成,证书源文件包括企业方的数字身份和企业名称。
32.签约终端可为服务器等,其与认证方的客户端通信连接。认证方可以为具有出具电子认证凭证权限的企业、组织机构等,企业方可以为需要认证方认证和出具电子认证凭证的企业、组织机构等。数字身份可以为bid(blockchain-based identifier,区块链基础标识符)或did(decentralized identifier,分散式标识符)等,每一认证方的数字身份唯一标识一个认证方,认证方的身份可信凭证可以为权威认证机构颁发的用于证明认证方的身份和认证方的数字身份的真实性的数字凭证。例如,认证方可以生成其数字身份,并将其数字身份和认证方方审核信息发送权威认证机构,权威认证机构对认证方审核信息进行审核,审核通过后,权威认证机构生成包括认证方的数字身份的身份可信凭证,并将该身份可信凭证发送认证方;认证方审核信息可以包括:认证方名称、营业执照、组织机构代码等。
33.第三方可以第三方权威认证机构,例如,第三方可以为ca(certificateauthority,证书授权)中心等。证书源文件可以为电子认证凭证的模板文件,认证方可以在其客户端生成证书源文件,并将企业方的数字身份和企业名称填写到证书源文件中。
34.第一公私密钥对包括:公钥和私钥,第一公私密钥对中公钥用于对由第一公私密钥对中私钥生成的签名进行验证,第一公私密钥对中私钥用于对信息或文件等进行签名。第二公私密钥对包括:公钥和私钥,第二公私密钥对中公钥用于对由第二公私密钥对中私钥生成的签名进行验证,第二公私密钥对中私钥用于对信息或文件进行签名。第一公私密钥对和第二公私密钥对均可以通过对称加密算法、非对称加密算法、国密sm2算法或rsa算法等生成。
35.在一种现实方式中,认证方可以通过对称加密算法、非对称加密算法或国密sm2算法等生成第一公私密钥对,然后将第一公私密钥对中的公钥授权第三方,第三方基于第一公私密钥对中公钥和对称加密算法、非对称加密算法、国密sm2算法或rsa算法等,生成第二公私密钥对。
36.步骤s120,签约终端对认证方的身份可信凭证进行验证。
37.其中,签约终端对认证方的身份可信凭证进行验证以确定认证方的真实性。
38.在一种实现方式中,签约终端查看是存储有与认证方的身份可信凭证相同的可信凭证;响应于签约终端存储有与认证方的身份可信凭证相同的身份可信凭证,则可以确定认证方的身份可信凭证通过验证。
39.需要说明是,当认证方为多个时,需要对每一认证方的身份可信凭证进行验证,当所有认证方的身份可信凭证均通过验证时,可以执行步骤s130。
40.步骤s130,响应于认证方的身份可信凭证通过验证,签约终端基于证书源文件和认证方的数字身份,生成待签电子认证凭证。
41.其中,当认证方的身份可信凭证通过验证后,签约终端将认证方的数字身份添加到证书源文件中,同时还可以在证书源文件中生成认证方的签名位置,得到待签电子认证
凭证。
42.需要说明是,当认证方为多个时,需要将每一认证方的数字身份添加到证书源文件中。
43.步骤s140,签约终端将待签电子认证凭证存储至区块链。
44.其中,签约终端可以将待签电子认证凭证存储至区块链,存储成功后,区块链向签约终端反馈待签电子认证凭证的哈希值(hash)和存储哈希值(ipfs hash)。
45.步骤s150,认证方分别利用第一公私密钥中私钥和第二公私密钥中私钥对待签电子认证凭证进行签名处理,得到初始电子认证凭证。
46.其中,初始电子认证凭证具有由第一公私密钥对中私钥生成的签名和由第二公私密钥对中私钥生成的签名。
47.在一种实施方式中,签约终端将待签电子认证凭证发送认证方的客户端,认证方利用其第一公私密钥对中私钥对待签电子认证凭证进行签名处理,认证方利用其第二公私密钥对中私钥对待签电子认证凭证进行签名处理,生成初始电子认证凭证,认证方将初始电子认证凭证发送签约终端。
48.在一种实施方式中,认证方拒绝对待签电子认证凭证进行签名处理,认证方的客户端向签约终端发送拒签名消息;当签约终端接收认证方发送的拒签名消息,签约终端结束流程,同时还可以将拒绝签约消息存储至区块链。
49.需要说明是,当认证方为多个时,需要每一认证方利用其第一公私密钥对中私钥和第二公私密钥对中私钥对待签电子认证凭证进行签名处理。
50.步骤s160,签约终端确定初始电子认证凭证是否符合预设签约条件。
51.其中,预设签约条件可以根据实际情况设定。例如,签约终端可以查验初始电子认证凭证是否具有由第一公私密钥对中私钥生成的签名和由第二公私密钥对中私钥生成的签名,当都具有时,可以确定初始电子认证凭证符合预设签约条件;或者,当认证方为多个时,可以查验初始电子认证凭证是否具有所有认证方利用其第一公私密钥对中私钥生产的签名和利用其第二公私密钥对中私钥生成的签名,当均具有,则可以确定初始电子认证凭证符合预设签约条件。
52.步骤s170,响应于初始电子认证凭证符合预设签约条件,签约终端将初始电子认证凭证确定为电子认证凭证。
53.其中,电子认证凭证可以包括:认证方的名称、认证方的数字身份、企业方的名称、企业方的数字身份、电子认证凭证编号、电子认证凭证的凭证标识、电子认证凭证的有效日期等。
54.在一种实现方式中,签约终端将电子认证凭证反馈认证方。
55.步骤s180,签约终端将电子认证凭证以及第一公私密钥对中公钥或第二公私密钥对中公钥存储至区块链。
56.其中,签约终端将电子认证凭证以及第一公私密钥对中公钥或第二公私密钥对中的公钥上传区块链,当区块链存储完成,其向签约终端反馈电子认证凭证的哈希值,同时还反馈电子认证凭证以及第一公私密钥对中公钥或第二公私密钥对中公钥的存储哈希值。
57.本公开实施例中,通过签约终端对认证方的身份可信凭证进行验证,以及认证方利用其第一公私密钥对中私钥和第二公私密钥对中私钥对待签电子认证凭证进行签名,有
效的确保了认证方的身份和签署意愿的真实性,且无需借助其他硬件介质(如ukey等),极大的提高了电子认证凭证签署流程的便捷性。另外,本公开实施例中,对电子认证凭证签署过程中各阶段生成的文件均存储在区块链上,实现了对签署电子认证凭证的全流程记录,便于后续对电子认证凭证签署流程的各阶段的文件管理和查询。同时,本公开实施例中同时利用第一公私密钥对中私钥和第二公私密钥对中私钥进行签名,不仅提高了电子认证凭证的可信性,而且由于第一公私密钥对中公钥和第二公私密钥对中公钥相同,所以当需要对电子认证凭证的签名进行验证时,仅需使用第一公私密钥对公钥或第二公私密钥对中公钥验证即可,提高了用户的使用体验。
58.在一个可选实施例中,如图2所示,本公开实施例中步骤s160可以包括如下步骤:步骤s161,响应于生成待签电子认证凭证与生成初始电子认证凭证之间的时长小于或等于预设时长,且初始电子认证凭证的签名符合预设签名完整条件,确定初始电子认证凭证符合预设签约条件。
59.其中,预设时长可以根据实际需求设定。可以根据初始电子认证凭证对应的时间戳和待签电子认证凭证对应的时间戳,确定生成待签电子认证凭证与生成初始电子认证凭证之间的时长。
60.在一种实现方式中,当初始电子认证凭证具有由第一公私密钥对中私钥生成的签名和由第二公私密钥对中私钥生成的签名时,可以确定初始电子认证凭证符合预设签名完整条件;或者,当认证方为多个时,当初始电子认证凭证具有所有认证方利用其第一公私密钥对中私钥生产的签名和利用第二公私密钥对中私钥生成的签名时,确定初始电子认证凭证符合预设签名完整条件。
61.步骤s162,将初始电子认证凭证确定为电子认证凭证。
62.步骤s163,签约终端基于认证方信息和电子认证凭证,生成签约文档。
63.其中,签约文档可以用于记录电子认证凭证的生成过程中的所有信息。签约文档可以包括:认证方信息、电子认证凭证的凭证标识、编号、有效日期、属性等。凭证标识可以为bid或did,用于唯一标识一个电子认证凭证。电子认证凭证的属性可以表征该电子认证凭证是否可以被查看。例如,电子认证凭证的属性可以包括公开或隐私等,当电子认证凭证的属性为公开时,表示该电子认证凭证可以被任何人查看,当电子认证凭证的属性为隐私时,表示该电子认证凭证仅可以被该电子认证凭证对应的认证方和企业方查看。
64.步骤s164,利用签约终端的公私密钥对中私钥对签约文档进行签名。
65.其中,签约终端的公私密钥对包括:公钥和私钥,签约终端的公私密钥中公钥用于对由签约终端的公私密钥中私钥生成的签名进行验证,签约终端的公私密钥中私钥用于对信息或文件进行签名。签约终端的公私密钥对可以由签约终端基于对称加密算法、非对称加密算法、国密sm2算法或rsa算法等生成。
66.步骤s165,将签名后的签约文档存储至区块链。
67.在一种实现方式中,可以将签约文档转换为数据格式为blob格式的上链数据,利用签约终端的公私密钥对中私钥对签约文档对应的上链数据进行签名,将签名后的签约文档对应的上链数据存储到区块链。blob格式为交易结构序列化后的十六进制格式,用于执行上链操作。
68.在一个可选实施例中,如图3所示,本公开实施例中的基于区块链的电子文件签署
方法还可以包括如下步骤:步骤s210,认证方对企业方的身份可信凭证进行验证。
69.其中,企业方的身份可信凭证可以为权威认证机构颁发的用于证明企业方的身份和企业方的数字身份的真实性的数字凭证。例如,企业方可以生成其数字身份,并将该数字身份和企业方审核信息发送权威认证机构,权威认证机构对企业审核信息进行审核,审核通过后,权威认证机构生成包括企业方的数字身份的身份可信凭证,并将该身份可信凭证发送企业方,企业方审核信息包括:企业方名称、营业执照、组织机构代码等。
70.在一种实现方式中,当企业方需要申请电子认证凭证时,企业方将其数字身份和身份可信凭证以及身份可信凭证对应的公钥发送认证方的客户端;认证方的客户端利用企业方的身份可信凭证对应的公钥对其身份可信凭证中的签名进行验证,当验证通过后,确定企业方的身份可信凭证通过验证。
71.步骤s220,响应于企业方的身份可信凭证通过验证,认证方基于企业方的数字身份生成证书源文件。
72.其中,认证方的客户端中存储有初始证书源文件;认证方将企业方的数字身份添加到初始证书源文件中,生成证书源文件。
73.在一个可选实施例中,本公开实施例中的基于区块链的电子文件签署方法还可以包括:利用签约终端的公私密钥对中的私钥对证书源文件进行签名,并将签名后的证书源文件存储至区块链。
74.在一种实现方式中,可以将证书源文件转换为数据格式为blob格式的上链数据,利用签约终端的公私密钥对中私钥对证书源文件对应的上链数据签名,将签名后的证书源文件对应的上链数据存储到区块链,存储成功后,区块链反馈证书源文件的哈希值和证书源文件的存储哈希值。
75.在一个可选实施例中,本公开实施例中的步骤s140可以包括:利用签约终端的公私密钥对中私钥对待签电子认证凭证进行签名,并将签名后的待签电子认证凭证存储至区块链。
76.在一种实现方式中,可以将待签电子认证凭证转换为数据格式为blob格式的上链数据,利用签约终端的公私密钥对中私钥对待签电子认证凭证对应的上链数据签名,将签名后的待签电子认证凭证对应的上链数据存储到区块链,存储成功后,区块链反馈待签电子认证凭证的哈希值和待签电子认证凭证的存储哈希值。
77.在一个可选实施例中,本公开实施例中的电子认证凭证包括:凭证标识、认证方的数字身份和认证方的名称;如图4所示,本公开实施例中的基于区块链的电子文件签署方法还可以包括如下步骤:步骤s310,签约终端接收查询方发送的凭证查询请求。
78.其中,该凭证查询请求包括:待查询的电子认证凭证的凭证标识、认证方的数字身份或认证方的名称。凭证标识可以为bid或did,用于唯一标识一个电子认证凭证,凭证标识可以包括该凭证标识所标识的电子认证凭证的存储地址。
79.查询方可以为企业方、认证方或其他个人、企业或组织机构。查询方可以通过其客户端向签约终端发送凭证查询请求。
80.步骤s320,签约终端基于凭证查询请求,获取与凭证查询请求对应的电子认证凭
证。
81.其中,签约终端在其存储电子认证凭证的区块链上查看是否存在与凭证查询请求中的待查询的电子认证凭证的凭证标识、认证方的数字身份或认证方的名称相匹配的电子认证凭证,当存在时,将与待查询的电子认证凭证的凭证标识、认证方的数字身份或认证方的名称相匹配的电子认证凭证确定为与凭证查询请求对应的电子认证凭证;当不存在与待查询的电子认证凭证的凭证标识、认证方的数字身份或认证方的名称相匹配的电子认证凭证时,可以向查询方发送未查询到电子认证凭证消息。
82.步骤s330,响应于与凭证查询请求对应的电子认证凭证的属性为预设属性,签约终端将与凭证查询请求对应的电子认证凭证反馈查询方。
83.其中,预设属性可以根据实际需求设定。
84.例如,预设属性为公开,则当与凭证查询请求对应的电子认证凭证的属性为公开时,可以将与凭证查询请求对应的电子认证凭证反馈查询方;当与凭证查询请求对应的电子认证凭证的属性为不公开或隐私时,可以向查询方发送禁止查看消息。
85.在一个可选实施例中,如图5所示,本公开实施例中的基于区块链的电子文件签署方法还可以包括如下步骤:步骤s410,签约终端接收查询方发送的凭证验证请求。
86.其中,该凭证验证请求包括待查验的电子认证凭证。查询方可以通过其终端向签约终端发送凭证验证请求。
87.步骤s420,基于预设算法,根据待查验的电子认证凭证,确定待查验的电子认证凭证的凭证特征。
88.其中,预设算法可以为用于计算电子认证凭证的凭证特征的算法,例如,预设算法可以为哈希算法。电子认证凭证的凭证特征可以为电子认证凭的哈希值。
89.例如,可以基于哈希算法,对待查验的电子认证凭证进行哈希计算,得到待查验的电子认证凭证的哈希值(凭证特征)。
90.步骤s430,基于待查验的电子认证凭证的凭证特征和凭证特征与凭证标识对应列表,确定是否存在与待查验的电子认证凭证的凭证特征对应的凭证标识。
91.其中,签约终端可以创建凭证特征与凭证标识对应列表,凭证特征与凭证标识对应列表可以包括:多个凭证特征和多个凭证标识,在凭证特征与凭证标识对应列表中每一凭证特征对应一凭证标识。
92.可以将凭证特征与凭证标识对应列表中,与待查验的电子认证凭证的凭证特征相同的凭证特征所对应的凭证标识,确定为与待查验的电子认证凭证的凭证特征对应的凭证标识。
93.步骤s440,响应于存在与待查验的电子认证凭证的凭证特征对应的凭证标识,将与待查验的电子认证凭证的凭证特征对应的凭证标识作为目标凭证标识。
94.其中,当存在与待查验的电子认证凭证的凭证特征对应的凭证标识,将与待查验的电子认证凭证的凭证特征对应的凭证标识作为目标凭证标识;当不存在与待查验的电子认证凭证的凭证特征对应的凭证标识时,可以向查询方发送验证失败消息。
95.步骤s450,确定目标凭证标识是否存在于禁止查询名单中。
96.其中,禁止查询名单可以包括多个凭证标识。可以将目标凭证标识与禁止查询名单中的凭证标识匹配,当禁止查询名单中存在与目标凭证标识相同的凭证标识时,确定目标凭证标识存在于禁止查询名单中,当禁止查询名单中不存在与目标凭证标识相同的凭证标识时,确定目标凭证标识不存在于禁止查询名单中。
97.步骤s460,响应于目标凭证标识不存在于禁止查询名单中,将目标凭证标识所标识的电子认证凭证的凭证特征作为目标凭证特征。
98.其中,可以通过目标凭证标识获取目标凭证标识所标识的电子认证凭证。可以通过预设算法,例如哈希算法,对目标凭证标识所标识的电子认证凭证进行哈希计算,得到目标凭证标识所标识的电子认证凭证的凭证特征(哈希值)。
99.步骤s470,基于目标凭证特征和待查验的电子认证凭证的凭证特征,确定查验结果,并将查验结果反馈所述查询方。
100.其中,查验结果可以包括:目标凭证特征和待查验的电子认证凭证的凭证特征的匹配结果。
101.在一种实现方式中,可以将目标凭证特征和待查验的电子认证凭证的凭证特征相匹配,当目标凭证特征和待查验的电子认证凭证的凭证特征相同时,确定待查验的电子认证凭证未被修改,当目标凭证特征和待查验的电子认证凭证的凭证特征不相同时,确定待查验的电子认证凭证被修改。
102.图6示出本公开实施例中基于区块链的电子文件签署装置的框图。如图6所示,该实施例基于区块链的电子文件签署装置包括:第一接收模块510,用于签约终端接收认证方发送的证书源文件和认证方信息,其中,所述认证方信息包括:所述认证方的数字身份、身份可信凭证、第一公私密钥对中公钥和第二公私密钥对中公钥,所述第一公私密钥中公钥与所述第二公私密钥对中公钥相同,所述第一公私密钥对由所述认证方生成,所述第二公私密钥对由第三方生成,所述证书源文件包括企业方的数字身份和企业名称;第一验证模块520,用于所述签约终端对所述认证方的身份可信凭证进行验证;第一生成模块530,用于响应于所述认证方的身份可信凭证通过验证,所述签约终端基于所述证书源文件和所述认证方的数字身份,生成待签电子认证凭证;第一存储模块540,用于所述签约终端将所述待签电子认证凭证存储至区块链;第一签名模块550,用于所述认证方分别利用所述第一公私密钥对中私钥和所述第二公私密钥对中私钥对所述待签电子认证凭证进行签名处理,得到初始电子认证凭证;第二验证模块560,用于所述签约终端确定所述初始电子认证凭证是否符合预设签约条件;第一确定模块570,响应于所述初始电子认证凭证符合所述预设签约条件,所述签约终端将所述初始电子认证凭证确定为电子认证凭证;第二存储模块580,用于所述签约终端将所述电子认证凭证以及所述第一公私密钥对中公钥或所述第二公私密钥对中公钥存储至所述区块链。
103.优选地,本公开实施例中所述第二验证模块560包括:校验子模块561(图中未示出),用于响应于生成所述待签电子认证凭证与生成所述初始电子认证凭证之间的时长小于或等于预设时长,且所述初始电子认证凭证的签名符
合预设签名完整条件,确定所述初始电子认证凭证符合预设签约条件;确认子模块562(图中未示出),用于将所述初始电子认证凭证确定为电子认证凭证;生成子模块563(图中未示出),用于所述签约终端基于所述认证方信息和所述电子认证凭证,生成签约文档;签名子模块564(图中未示出),用于利用所述签约终端的公私密钥对中私钥对所述签约文档进行签名;存储在模块565(图中未示出),用于将签名后的所述签约文档存储至所述区块链。
104.优选地,本公开实施中所述的基于区块链的电子文件签署装置还包括:第三验证模块590(图中未示出),用于所述认证方对所述企业方的身份可信凭证进行验证;第二生成模块600(图中未示出),用于响应于所述企业方的身份可信凭证通过验证,所述认证方基于所述企业方的数字身份生成所述证书源文件。
105.优选地,本公开实施中所述的基于区块链的电子文件签署装置还包括:第二签名模块610(图中未示出),用于利用签约终端的公私密钥对中私钥对所述证书源文件进行签名,并将签名后的所述证书源文件存储至所述区块链;所述第一存储模块540还用于利用所述签约终端的公私密钥对中私钥对所述待签电子认证凭证进行签名,并将签名后的所述待签电子认证凭证存储至所述区块链。
106.优选地,本公开实施中所述电子认证凭证包括:凭证标识、所述认证方的数字身份和所述认证方的名称;所述的基于区块链的电子文件签署装置还包括:第二接收模块620(图中未示出),用于所述签约终端接收查询方发送的凭证查询请求,其中,所述凭证查询请求包括:待查询的电子认证凭证的凭证标识、认证方的数字身份或认证方的名称;第一获取模块630(图中未示出),用于所述签约终端基于所述凭证查询请求,获取与所述凭证查询请求对应的电子认证凭证;第一反馈模块640(图中未示出),用于响应于与所述凭证查询请求对应的电子认证凭证的属性为预设属性,所述签约终端将与所述凭证查询请求对应的电子认证凭证反馈所述查询方。
107.优选地,本公开实施中所述的基于区块链的电子文件签署装置还包括:第三接收模块650(图中未示出),用于所述签约终端接收所述查询方发送的凭证验证请求,其中,所述凭证验证请求包括待查验的电子认证凭证;第二确定模块660(图中未示出),用于基于预设算法,根据所述待查验的电子认证凭证,确定所述待查验的电子认证凭证的凭证特征;第三确定模块670(图中未示出),用于基于所述待查验的电子认证凭证的凭证特征和凭证特征与凭证标识对应列表,确定是否存在与所述待查验的电子认证凭证的凭证特征对应的凭证标识;第四确定模块680(图中未示出),用于响应于存在与所述待查验的电子认证凭证的凭证特征对应的凭证标识,将与所述待查验的电子认证凭证的凭证特征对应的凭证标识作为目标凭证标识;
第五确定模块690(图中未示出),用于确定所述目标凭证标识是否存在于禁止查询名单中;第六确定模块700(图中未示出),用于响应于所述目标凭证标识不存在于所述禁止查询名单中,将所述目标凭证标识所标识的电子认证凭证的凭证特征作为目标凭证特征;第七确定模块710(图中未示出),用于基于所述目标凭证特征和所述待查验的电子认证凭证的凭证特征,确定查验结果,并将查验结果反馈所述查询方。
108.另外,本公开实施例还提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的基于区块链的电子文件签署方法。
109.图7为本公开电子设备一个应用实施例的结构示意图。如图7所示,电子设备包括一个或多个处理器和存储器。
110.处理器可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
111.存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的基于区块链的电子文件签署方法以及/或者其他期望的功能。
112.在一个示例中,电子设备还可以包括:输入装置和输出装置,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
113.此外,该输入设备还可以包括例如键盘、鼠标等等。
114.该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出设备可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
115.当然,为了简化,图7中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
116.除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的电子文件签署方法中的步骤。
117.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c 等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
118.此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的基于区块链的电子文件签署方法中的步骤。
119.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
120.本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
121.以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
122.本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
123.本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
124.可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
125.还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
126.提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
127.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献