CN117194559A - 基于区块链的证书生成管理方法、装置、设备及存储介质 - Google Patents
基于区块链的证书生成管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117194559A CN117194559A CN202310540880.0A CN202310540880A CN117194559A CN 117194559 A CN117194559 A CN 117194559A CN 202310540880 A CN202310540880 A CN 202310540880A CN 117194559 A CN117194559 A CN 117194559A
- Authority
- CN
- China
- Prior art keywords
- certificate
- information block
- block
- certification authority
- instruction
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 104
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000008859 change Effects 0.000 claims description 50
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000004804 winding Methods 0.000 claims 3
- 238000010586 diagram Methods 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008520 organization Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供了一种基于区块链的证书生成管理方法、装置、设备及存储介质,方法包括:响应于证书生成指令,生成至少一个证书信息块;响应于证书上链指令,对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作;响应于证书管理指令生成初始操作信息块;响应于管理上链指令,对有效的初始操作信息块进行哈希计算,并将所述有效的初始操作信息块及对应的第二哈希值放入第二区块进行第二上链操作;可以将电子证书的相关数据信息存入区块链,并对企业或个人进行电子证书的颁发管理,保证电子证书在区块链中不可更改、不可伪造、长期存证,并提高电子证书颁发效率。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的证书生成管理方法、装置、设备及存储介质。
背景技术
区块链(Blockchain)技术是一种将数据区块有序连接,并以密码学方式保证其不可篡改、不可伪造的分布式账本技术。基于区块链的技术方案能够用于解决信任问题,实现信息与价值的自由传递,目前已在数字货币、资产交易、数字政务、存证防伪等领域得到应用;同时随着科技的发展,证书电子化有利于简化证书办理与发放的流程,提升与证书相关各项工作效率,同时可实现长期存证,杜绝假证,并实现证书的便捷查询与核验。电子证书要实现的这些功能特征,恰与区块链的技术特点相吻合,因此可以将电子证书写入区块链,用于达到电子证书可以在区块链中不可更改、不可伪造并长期存证的目的。
基于上述背景,如何将电子证书的相关数据信息存入区块链,在区块链上发证机构对企业或个人进行电子证书的颁发管理,并提高电子证书颁发效率为亟需解决的问题。
发明内容
本申请提供了一种基于区块链的证书生成管理方法、装置、设备及存储介质,可以将电子证书的相关数据信息存入区块链,并对企业或个人进行电子证书的颁发管理,保证电子证书在区块链中不可更改、不可伪造、长期存证,并提高电子证书颁发效率。
第一方面,本申请提供了一种基于区块链的证书生成管理方法,包括:响应于证书生成指令,生成至少一个证书信息块,各所述证书信息块包括证书生成指令中的证书信息、查询得到的发证机构公钥,及利用证书生成指令中的发证机构私钥对所述证书信息和发证机构公钥加密得到的第一签名;
响应于证书上链指令,验证各证书信息块中的发证机构公钥合法后,利用所述发证机构公钥及所述第一签名确定所述证书信息块是否有效;
对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作;
响应于证书管理指令,查询并读取符合管理条件的目标证书信息块,并利用证书管理指令中的发证机构私钥对所述目标证书信息块中的发证机构公钥及对应的第一哈希值加密,得到第二签名;
根据所述目标证书信息块对应的第一哈希值、第二签名、证书管理指令的操作类别及证书管理指令中的证书管理对象编号生成初始操作信息块;
响应于管理上链指令,确定待上链的各初始操作信息块,并利用对应的目标证书信息块中的发证机构公钥对所述待上链的各初始操作信息块中对应的签名进行解密,确定所述待上链的各初始操作信息块是否有效;
对有效的初始操作信息块进行哈希计算,并将所述有效的初始操作信息块及对应的第二哈希值放入第二区块进行第二上链操作。
可选的,所述证书管理指令包括证书颁发指令和证书作废指令,所述符合管理条件为生成证书信息块且未颁发;
所述证书管理指令为证书颁发指令时,所述操作类别为颁发,所述操作信息块中的证书管理对象编号为证书颁发对象编号;
所述证书管理指令为证书作废指令时,所述操作类别为删除,所述操作信息块中的证书管理对象编号为空。
可选的,还包括:
响应于状态变更指令,确定待变更状态的证书信息对应的最新的目标操作信息块;
利用状态变更指令中的发证机构私钥对所述目标操作信息块对应的发证机构公钥,及所述目标操作信息块中的第二哈希值加密,得到第三签名;
根据所述目标操作信息块对应的第二哈希值、所述第三签名、操作类别及状态变更指令指示的变更后的证书管理对象编号生成变更操作信息块;
响应于状态变更上链指令,确定待上链的变更操作信息块,利用对应的所述目标操作信息块对应的发证机构公钥对所述待上链的变更操作信息块中的第三签名进行解密,确定所述待上链的变更操作信息块是否有效;
对有效的变更操作信息块进行哈希计算,并将所述有效的变更操作信息块及对应的第三哈希值放入所述第二区块进行第三上链操作。
可选的,确定发生上链操作后,所述上链操作包括第一上链操作/第二上链操作/第三上链操作,还包括如下至少一个步骤:
根据所述上链操作,读取第一区块中的所有证书信息块,生成各证书对应的证书表项并写入证书信息表;所述各证书对应的证书表项包括各证书对应的证书信息、证书生成时间、发证机构公钥;
根据所述上链操作,读取第二区块中所有的初始操作信息块,更新对应的证书信息表;
根据所述上链操作,读取第二区块中所有的变更操作信息块,更新对应的证书信息表;
所述更新的对应的证书信息表包括各证书对应的证书信息、证书生成时间、发证机构公钥、当前颁发状态、证书管理对象编号、颁发状态更新时间。
可选的,确定所述各证书信息块是否有效,包括:
利用证书信息块中对应的发证机构公钥对所述第一签名解密,得到第一明文;
判断所述第一明文中的发证机构公钥及证书信息与所述证书信息块中的是否相同,若相同则证书信息块有效,否则无效;
确定各所述初始操作信息块是否有效,包括:
利用目标证书信息块中的发证机构公钥对所述第二签名解密,得到第二明文;
判断所述第二明文中的发证机构公钥及哈希值与所述初始操作信息块中的第一哈希值及所述目标证书信息块中的发证机构公钥是否相同,若相同则所述初始操作信息块有效,否则无效;
确定各所述变更操作信息块是否有效,包括:
利用目标操作信息块对应的发证机构公钥对所述第三签名解密,得到第三明文;
判断第三明文中的发证机构公钥及哈希值,与最新的目标操作信息块对应的发证机构公钥及对应的第二哈希值是否相同,若相同则变更操作信息块有效,否则无效。
可选的,还包括:
响应于证书查询指令,查询所述证书信息表;
确定查询到所述证书信息表中的证书表项,发送证书表项中的和证书信息到客户端;或者,
确定没有查询到所述证书信息表中的证书表项,发送无查询相关结果到客户端。
可选的,响应于证书生成指令,生成至少一个证书信息块之前,还包括:
根据所述证书生成指令中的发证机构名称及发证机构代码,确定该发证机构的名称、发证机构代码以及该发证机构对应的发证机构公钥是否存在所述发证机构信息表中;
若不存在,则通知向发证机构进行登记,接收所述发证机构发送的登记指令根据所述登记指令中的所述发证机构的名称、发证机构代码及发证机构公钥生成该发证机构对应表项并写入所述发证机构信息表。
第二方面,本申请提供一种基于区块链的证书生成管理装置,包括:
证书生成模块,用于生成至少一个证书信息块,各所述证书信息块包括证书生成指令中的证书信息、查询得到的发证机构公钥,及利用证书生成指令中的发证机构私钥对所述证书信息和发证机构公钥加密得到的第一签名;
证书上链模块,用于验证各证书信息块中的发证机构公钥合法后,利用所述发证机构公钥及所述第一签名确定所述证书信息块是否有效;
还用于对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作;
证书管理模块,用于查询并读取符合管理条件的目标证书信息块,并利用证书管理指令中的发证机构私钥对所述目标证书信息块中的发证机构公钥及对应的第一哈希值加密,得到第二签名;
还用于根据所述目标证书信息块对应的第一哈希值、第二签名、证书管理指令的操作类别及证书管理指令中的证书管理对象编号生成初始操作信息块;
管理上链模块,用于确定待上链的各初始操作信息块,并利用对应的目标证书信息块中的发证机构公钥对所述待上链的各初始操作信息块中对应的签名进行解密,确定所述待上链的各初始操作信息块是否有效;
还用于对有效的初始操作信息块进行哈希计算,并将所述有效的初始操作信息块及对应的第二哈希值放入第二区块进行第二上链操作。
第三方面,本申请提供一种基于区块链的证书生成管理设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面中任何一项所述的基于区块链的证书生成管理方法。
第四方面,本申请提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序用于使计算机执行如第一方面中任何一项所述的基于区块链的证书生成管理方法。
本申请提供的一种基于区块链的证书生成管理方法、装置、设备及存储介质,可以将电子证书的相关数据信息存入区块链,并对企业或个人进行电子证书的颁发管理,保证电子证书在区块链中不可更改、不可伪造、长期存证,并提高电子证书颁发效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1为根据本申请实施例提供的一种流程图;
图2为根据本申请实施例提供的一种流程图;
图3为根据本申请实施例提供的一种流程图;
图4为根据本申请实施例提供的一种模块示意图;
图5为根据本申请实施例提供的一种流程图;
图6为根据本申请实施例提供的一种流程图;
图7为根据本申请实施例提供的一种模块示意图;
图8为根据本申请实施例提供的一种模块示意图;
图9为根据本申请实施例提供的一种模块示意图;
图10为根据本申请实施例提供的一种流程图;
图11为根据本申请实施例提供的一种流程图;
图12为根据本申请实施例提供的一种模块示意图;
图13为根据本申请实施例提供的一种流程图;
图14为根据本申请实施例提供的一种流程图;
图15为根据本申请实施例提供的一种流程图;
图16为根据本申请实施例提供的一种流程图;
图17为根据本申请实施例提供的一种流程图;
图18为根据本申请实施例提供的一种流程图;
图19为根据本申请实施例提供的一种装置示意图;
图20为根据本申请实施例提供的一种设备的示意图;
图21为根据实施例提供的一种存储介质示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
现有相关技术中,区块链技术是一种将数据区块有序连接,并以密码学方式保证其不可篡改、不可伪造的分布式账本技术。基于区块链的技术方案能够用于解决信任问题,实现信息与价值的自由传递,目前已在数字货币、资产交易、数字政务、存证防伪等领域得到广泛应用;同时随着科技的发展,证书电子化有利于简化证书办理与发放的流程,因此将电子证书写入区块链,提升与证书相关各项工作效率,同时可以实现长期存证,杜绝假证,并实现证书的便捷查询与核验;因此本申请提出了一种基于区块链的证书生成管理方法、装置、设备及存储介质,可以将电子证书的相关数据信息存入区块链,并对企业或个人进行电子证书的颁发管理,保证电子证书在区块链中不可更改、不可伪造、长期存证,并提高电子证书颁发效率。
第一方面,本申请提供了一种基于区块链的证书生成管理方法,如图1所示,包括:
步骤101,响应于证书生成指令,生成至少一个证书信息块,各所述证书信息块包括证书生成指令中的证书信息、查询得到的发证机构公钥,及利用证书生成指令中的发证机构私钥对所述证书信息和发证机构公钥加密得到的第一签名;
可选的,证书生成指令中包括证书信息、发证机构私钥及发证机构代码,上述证书信息包括发证机构设置的证书模板和证书的数量及各个证书对应的证书编号;其中,上述发证机构设置的证书模板可以选择已经设置过的证书模板或者设置新的证书模板;设置新的证书模板包括设置证书的版式布局、背景图片在证书中的位置、大小、页边距、证书中的文字、印章、标示图的样式和在页面中的位置等;同时,根据证书生成指令中的发证机构名称和发证机构代码可以在发证机构信息表中查询该发证机构公钥;
可选的,利用证书生成指令中的发证机构私钥对所述证书信息和发证机构公钥加密得到第一签名后,如图2所示,还包括:
步骤201,根据在所述发证机构信息表中查询到的发证机构公钥,对所述第一签名进行解密,得到第一签名明文;
步骤202,判断所述第一签名明文中的发证机构公钥及证书信息,与在所述发证机构信息表中查询到的发证机构公钥及证书生成指令中的证书信息是否相同;若是,执行步骤203,若否,执行步骤204;
步骤203,确定所述第一签名为有效签名;
步骤204,确定所述第一签名为无效签名;
可选的,根据证书信息、查询的发证机构公钥和上述第一签名可以生成证书信息块;并将生成证书信息块的时间戳写入上述证书信息块;根据上述证书生成指令中设置的证书数量,生成对应数量的证书信息块,也就是说一个证书对应一个证书信息块。
步骤102,响应于证书上链指令,验证各证书信息块中的发证机构公钥合法后,利用所述发证机构公钥及所述第一签名确定所述证书信息块是否有效;
对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作;
可选的,验证各证书信息块中的发证机构公钥是否合法,需要验证各证书信息块中的发证机构公钥是否存在所述发证机构信息表中,若存在则确定所述发证机构公钥合法,若不存在则所述发证机构公钥不合法;同时,对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作,可以按照数量或时间设置,例如,待打包放入上述第一区块的证书信息块达到128个,或距离第一个待打包放入上述第一区块的证书信息块生成时间达到24小时时,进行上述第一上链操作。
可选的,对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作,如图3所示,具体包括:
步骤301,对有效的证书信息块进行哈希运算,得到对应的第一哈希值;
步骤302,将各有效的证书信息块对应的第一哈希值作为底层叶节点,并对每两个底层叶节点求哈希值作为父节点,若剩余一个底层叶节点直接复制该底层叶节点作为父节点,直至父节点只有一个作为根节点生成Merkle树,并写入区块体;
步骤303,将区块体中根节点的哈希值写入区块头,并写入前一区块头中根节点的哈希值、区块头的时间戳、标记为0的区块类型;将上述区块体和区块头作为一个整体也就是第一区块进行第一上链操作;
其中,第一区块的区块类型标记为0,也就是说第一区块中只记录证书的基本信息;所述第一区块可以为多个;如图4所示,为证书信息块中包括的各项信息及对应的第一哈希值的意图;如图8所示,为第一区块的整体示意图,包括区块体中各个有效的证书信息块801和对应的第一哈希值802、生成的Merkle树及区块头中根节点哈希值803、前一区块头中根节点哈希值804、时间戳805、区块类型806。
步骤103,响应于证书管理指令,查询并读取符合管理条件的目标证书信息块,并利用证书管理指令中的发证机构私钥对所述目标证书信息块中的发证机构公钥及对应的第一哈希值加密,得到第二签名;
根据所述目标证书信息块对应的第一哈希值、第二签名、证书管理指令的操作类别及证书管理指令中的证书管理对象编号生成初始操作信息块;
可选的,上述证书管理指令中包括证书信息中的证书编号,可以根据证书编号查询并读取符合管理条件的目标证书信息块;利用证书管理指令中的发证机构私钥对所述目标证书信息块中的发证机构公钥及对应的第一哈希值加密,得到第二签名后,同理如图5所示,包括:
步骤501,根据目标证书信息块中的发证机构对所述第二签名进行解密,得到第二签名明文;
步骤502,判断第二签名明文中的发证机构公钥及哈希值与所述目标证书信息块对应的第一哈希值及所述目标证书信息块中的发证机构公钥是否相同;若是,执行步骤503,若否,执行步骤504;
步骤503,确定所述第二签名为有效签名;
步骤504,确定所述第二签名为无效签名。
可选的,根据所述目标证书信息块对应的第一哈希值、第二签名、证书管理指令的操作类别及证书管理指令中的证书管理对象编号生成初始操作信息块;并将生成初始操作信息块的时间戳写入上述初始操作信息块。
步骤104,响应于管理上链指令,确定待上链的各初始操作信息块,并利用对应的目标证书信息块中的发证机构公钥对所述待上链的各初始操作信息块中对应的签名进行解密,确定所述待上链的各初始操作信息块是否有效;
对有效的初始操作信息块进行哈希计算,并将所述有效的初始操作信息块及对应的第二哈希值放入第二区块进行第二上链操作。
可选的,与所述证书信息块进行哈希运算同理,对有效的初始操作信息块进行哈希计算,并将所述有效的初始操作信息块及对应的第二哈希值放入第二区块进行第二上链操作,如图6所示,具体包括:
步骤601,对有效的初始操作信息块进行哈希运算,得到对应的第二哈希值;
步骤602,将各有效的初始操作信息块对应的第二哈希值作为底层叶节点,并对每两个底层叶节点求哈希值作为父节点,若剩余一个底层叶节点直接复制该底层叶节点作为父节点,直至父节点只有一个作为根节点生成Merkle树,并写入区块体;
步骤603,将区块体中根节点的哈希值写入区块头,并写入前一区块头中根节点的哈希值、区块头的时间戳、标记为1的区块类型;将上述区块体和区块头作为一个整体也就是第二区块进行第二上链操作;
其中,第二区块的区块类型标记为1,也就是说第二区块中记录证书的操作信息;所述第二区块可以为多个;如图7所示,为初始操作信息块中包括的各项信息及对应的第二哈希值的示意图。
根据本申请提供的一种基于区块链的证书生成管理方法,包括:生成多个证书信息块、并针对有效的证书信息块进行计算后生成区块类型为0的第一区块;基于生成的第一区块,生成根据证书管理指令中规定个数的初始操作信息块,并针有效的初始操作信息块进行计算后生成区块类型为1的第二区块;如图9所示,为整体区块链的示意图,包括多个第一区块和多个第二区块,共N个区块,其中所述第一区块与所述第二区块均由区块体和区块头构成;根据本申请提供的一种基于区块链的证书生成管理方法,可以将电子证书的相关数据信息存入区块链,并对企业或个人进行电子证书的颁发管理,保证电子证书在区块链中不可更改、不可伪造、长期存证,并提高电子证书颁发效率。
可选的,所述证书管理指令包括证书颁发指令和证书作废指令,所述符合管理条件为生成证书信息块且未颁发;所述证书管理指令为证书颁发指令时,所述操作类别为颁发,所述操作信息块中的证书管理对象编号为证书颁发对象编号;所述证书管理指令为证书作废指令时,所述操作类别为删除,所述操作信息块中的证书管理对象编号为空;所述证书颁发指令中包括证书颁发对象的企业名称、机构名称、个人姓名、对应的企业、机构的社会统一信息代码、个人的身份代码,可选择的还可以包括企业、机构的登记地址、个人的称号、称谓、级别职称等;证书颁发对象编号为企业、机构的社会统一信息代码、个人的身份代码;所述证书颁发指令中除所述证书颁发对象编号之外的信息用于填写到证书模板中,生成完整的一个电子证书。
可选的,如图10所示,还包括:
步骤1001,响应于状态变更指令,确定待变更状态的证书信息对应的最新的目标操作信息块;
利用状态变更指令中的发证机构私钥对所述目标操作信息块对应的发证机构公钥,及所述目标操作信息块中的第二哈希值加密,得到第三签名;
根据所述目标操作信息块对应的第二哈希值、所述第三签名、操作类别及状态变更指令指示的变更后的证书管理对象编号生成变更操作信息块;
可选的,状态变更指令中包括证书信息中的证书编号、发证机构、证书颁发对象、证书颁发对象编号等任意多种,用于查询并选择待变更的证书信息,并确定待变更状态的证书信息对应的最新的目标操作信息块;同理,利用状态变更指令中的发证机构私钥对所述目标操作信息块对应的发证机构公钥,及所述目标操作信息块中的第二哈希值加密,得到第三签名后,如图11所示,还包括:
步骤1101,根据目标操作信息块对应的发证机构公钥,对所述第三签名进行解密,得到第三签名明文;
步骤1102,判断所述第一签名明文中的发证机构公钥及哈希值,与所述目标操作信息块对应的第二哈希值及所述目标信息块对应的发证机构公钥是否相同;若是,执行步骤1103,若否,执行步骤1104;
步骤1103,确定所述第三签名为有效签名;
步骤1104,确定所述第三签名为无效签名;
可选的,状态变更指令中包括证书的状态变更方式,也就是具体的操作类别,所述状态变更方式包括撤销、吊销、挂失、解挂失、证书转移等,此处不再一一例举;值得注意的是,当确定证书的状态变更方式为证书转移时,上述状态变更指令中还需要包括证书转移到的证书颁发对象的证书颁发对象编号;所述状态变更指令指示的变更后的证书管理对象编号可以来自状态变更指令、也可以来自最新的目标操作信息块;根据所述目标操作信息块对应的第二哈希值、所述第三签名、操作类别及状态变更指令指示的变更后的证书管理对象编号生成变更操作信息块;并将生成变更操作信息块的时间戳写入上述变更操作信息块。
步骤1002,响应于状态变更上链指令,确定待上链的变更操作信息块,利用对应的所述目标操作信息块对应的发证机构公钥对所述待上链的变更操作信息块中的第三签名进行解密,确定所述待上链的变更操作信息块是否有效;
对有效的变更操作信息块进行哈希计算,并将所述有效的变更操作信息块及对应的第三哈希值放入所述第二区块进行第三上链操作。
可选的,与上述有效的初始操作信息块同理,进行第三上链操作,详细内容参考图6,此处不再赘述;如图12所示,为变更操作信息块中包括的各项信息及对应的第三哈希值的示意图。
可选的,确定发生上链操作后,所述上链操作包括第一上链操作/第二上链操作/第三上链操作,如图13所示,还包括如下至少一个步骤:
步骤1301,根据所述上链操作,读取第一区块中的所有证书信息块,生成各证书对应的证书表项并写入证书信息表;
其中,所述各证书对应的证书表项包括各证书对应的证书信息、证书生成时间、发证机构公钥;
步骤1302,根据所述上链操作,读取第二区块中所有的初始操作信息块,更新对应的证书信息表;
步骤1303,根据所述上链操作,读取第二区块中所有的变更操作信息块,更新对应的证书信息表;
所述更新的对应的证书信息表包括各证书对应的证书信息、证书生成时间、发证机构公钥、当前颁发状态、证书管理对象编号、颁发状态更新时间。
可选的,确定所述各证书信息块是否有效,如图14所示,包括:
步骤1401,利用证书信息块中对应的发证机构公钥对所述第一签名解密,得到第一明文;
步骤1402,判断所述第一明文中的发证机构公钥及证书信息与所述证书信息块中的是否相同,若相同则证书信息块有效,否则无效;
确定各所述初始操作信息块是否有效,如图15所示,包括:
步骤1501,利用目标证书信息块中的发证机构公钥对所述第二签名解密,得到第二明文;
步骤1502,判断所述第二明文中的发证机构公钥及哈希值与所述初始操作信息块中的第一哈希值及所述目标证书信息块中的发证机构公钥是否相同,若相同则所述初始操作信息块有效,否则无效;
确定各所述变更操作信息块是否有效,如图16所示,包括:
步骤1601,利用目标操作信息块对应的发证机构公钥对所述第三签名解密,得到第三明文;
步骤1602,判断第三明文中的发证机构公钥及哈希值,与最新的目标操作信息块对应的发证机构公钥及对应的第二哈希值是否相同,若相同则变更操作信息块有效,否则无效。
可选的,如图17所示,还包括:
步骤1701,响应于证书查询指令,查询所述证书信息表;
步骤1702,确定查询到所述证书信息表中的证书表项,发送证书表项中的证书相关信息到客户端;或者,
步骤1703,确定没有查询到所述证书信息表中的证书表项,发送无查询相关结果到客户端。
可选的,所述证书查询指令包括证书信息中的证书名称、证书生成时间、发证机构公钥、当前颁发状态、证书管理对象编号、颁发状态更新时间、证书信息中的证书编号任一或任多种,用于查找证书信息表中的证书表项;上述确定查询到所述证书信息表中的证书表项,发送证书表项中的证书相关信息到客户端后,还可以准对显示的证书相关信息进行核验;例如,核验该证书是否为有效的证书,根据证书查询指令查找对应的证书信息块,若没有查到,则说明该证书为无效证书,若查到则读取该证书信息块中的发证机构公钥、证书信息和第一签名,判断发证机构信息表中对应的发证机构公钥与该证书信息块中的发证机构公钥是否一致,使用发证机构公钥对第一签名进行解密得到第一明文,判断第一明文中的发证机构公钥和证书信息与证书信息块中的发证机构公钥和证书信息是否一致,若均一致,确定该证书信息块为有效的证书信息块,则该证书为有效证书。
可选的,响应于证书生成指令,生成至少一个证书信息块之前,如图18所示,还包括:
步骤1801,根据所述证书生成指令中的发证机构名称及发证机构代码,确定该发证机构的名称、发证机构代码以及该发证机构对应的发证机构公钥是否存在所述发证机构信息表中;
步骤1802,若不存在,通知发证机构进行登记,接收所述发证机构发送的登记指令,根据所述登记指令中的发证机构的名称、发证机构代码及发证机构公钥生成该发证机构对应表项并写入所述发证机构信息表。
基于同样的发明构思,第二方面,本申请还提供了一种基于区块链的证书生成管理装置,如图19所示,包括:
证书生成模块1901,用于生成至少一个证书信息块,各所述证书信息块包括证书生成指令中的证书信息、查询得到的发证机构公钥,及利用证书生成指令中的发证机构私钥对所述证书信息和发证机构公钥加密得到的第一签名;
证书上链模块1902,用于验证各证书信息块中的发证机构公钥合法后,利用所述发证机构公钥及所述第一签名确定所述证书信息块是否有效;
还用于对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作;
证书管理模块1903,用于查询并读取符合管理条件的目标证书信息块,并利用证书管理指令中的发证机构私钥对所述目标证书信息块中的发证机构公钥及对应的第一哈希值加密,得到第二签名;
还用于根据所述目标证书信息块对应的第一哈希值、第二签名、证书管理指令的操作类别及证书管理指令中的证书管理对象编号生成初始操作信息块;
管理上链模块1904,用于确定待上链的各初始操作信息块,并利用对应的目标证书信息块中的发证机构公钥对所述待上链的各初始操作信息块中对应的签名进行解密,确定所述待上链的各初始操作信息块是否有效;
还用于对有效的初始操作信息块进行哈希计算,并将所述有效的初始操作信息块及对应的第二哈希值放入第二区块进行第二上链操作。
基于同样的发明构思,第三方面,本申请还提供了一种基于区块链的证书生成管理设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任何一项所述的基于区块链的证书生成管理方法。
如图20所示,设备包括处理器2001、存储器2002、通信接口2003和总线2004。其中,处理器2001、存储器2002和通信接口2003通过总线2004相互连接。
处理器2001,用于读取存储器2002中的指令并执行,以使至少一个处理器能够执行上述实施例提供的任何一项所述的基于区块链的证书生成管理方法。
存储器2002,用于存储上述实施例提供的所述的基于区块链的证书生成管理方法的各种指令以及程序。
总线2004可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图20中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器2001可以是中央处理器(central processing unit,简称CPU),网络处理器(network processor,简称NP),图像处理器(Graphic Processing Unit,简称GPU)或者CPU、NP、GPU的任一组合。还可以是硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,简称ASIC),可编程逻辑器件(programmable logic device,简称PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,简称CPLD),现场可编程逻辑门阵列(field-programmable gate array,简称FPGA),通用阵列逻辑(generic array logic,简称GAL)或其任意组合。
基于同样的发明构思,第四方面,本申请还提供一种存储介质,如图21所示,存储介质存储有计算机程序,计算机程序用于使计算机执行上述实施例中任何一项所述的基于区块链的证书生成管理方法。
存储器可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)2121和/或高速缓存存储器2122,还可以进一步包括只读存储器(ROM)2123。
存储器还可以包括具有一组(至少一个)程序模块2124的程序/实用工具2125,这样的程序模块2124包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
本申请提供的一种基于区块链的证书生成管理方法、装置、设备及存储介质,可以将电子证书的相关数据信息存入区块链,并对企业或个人进行电子证书的颁发管理,保证电子证书在区块链中不可更改、不可伪造、长期存证,并提高电子证书颁发效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种基于区块链的证书生成管理方法,其特征在于,包括:
响应于证书生成指令,生成至少一个证书信息块,各所述证书信息块包括证书生成指令中的证书信息、查询得到的发证机构公钥,及利用证书生成指令中的发证机构私钥对所述证书信息和发证机构公钥加密得到的第一签名;
响应于证书上链指令,验证各证书信息块中的发证机构公钥合法后,利用所述发证机构公钥及所述第一签名确定所述证书信息块是否有效;
对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作;
响应于证书管理指令,查询并读取符合管理条件的目标证书信息块,并利用证书管理指令中的发证机构私钥对所述目标证书信息块中的发证机构公钥及对应的第一哈希值加密,得到第二签名;
根据所述目标证书信息块对应的第一哈希值、第二签名、证书管理指令的操作类别及证书管理指令中的证书管理对象编号生成初始操作信息块;
响应于管理上链指令,确定待上链的各初始操作信息块,并利用对应的目标证书信息块中的发证机构公钥对所述待上链的各初始操作信息块中对应的签名进行解密,确定所述待上链的各初始操作信息块是否有效;
对有效的初始操作信息块进行哈希计算,并将所述有效的初始操作信息块及对应的第二哈希值放入第二区块进行第二上链操作。
2.根据权利要求1所述的方法,其特征在于,所述证书管理指令包括证书颁发指令和证书作废指令,所述符合管理条件为生成证书信息块且未颁发;
所述证书管理指令为证书颁发指令时,所述操作类别为颁发,所述操作信息块中的证书管理对象编号为证书颁发对象编号;
所述证书管理指令为证书作废指令时,所述操作类别为删除,所述操作信息块中的证书管理对象编号为空。
3.根据权利要求1所述的方法,其特征在于,还包括:
响应于状态变更指令,确定待变更状态的证书信息对应的最新的目标操作信息块;
利用状态变更指令中的发证机构私钥对所述目标操作信息块对应的发证机构公钥,及所述目标操作信息块中的第二哈希值加密,得到第三签名;
根据所述目标操作信息块对应的第二哈希值、所述第三签名、操作类别及状态变更指令指示的变更后的证书管理对象编号生成变更操作信息块;
响应于状态变更上链指令,确定待上链的变更操作信息块,利用对应的所述目标操作信息块对应的发证机构公钥对所述待上链的变更操作信息块中的第三签名进行解密,确定所述待上链的变更操作信息块是否有效;
对有效的变更操作信息块进行哈希计算,并将所述有效的变更操作信息块及对应的第三哈希值放入所述第二区块进行第三上链操作。
4.根据权利要求1~3任一所述的方法,其特征在于,确定发生上链操作后,所述上链操作包括第一上链操作/第二上链操作/第三上链操作,还包括如下至少一个步骤:
根据所述上链操作,读取第一区块中的所有证书信息块,生成各证书对应的证书表项并写入证书信息表;所述各证书对应的证书表项包括各证书对应的证书信息、证书生成时间、发证机构公钥;
根据所述上链操作,读取第二区块中所有的初始操作信息块,更新对应的证书信息表;
根据所述上链操作,读取第二区块中所有的变更操作信息块,更新对应的证书信息表;
所述更新的对应的证书信息表包括各证书对应的证书信息、证书生成时间、发证机构公钥、当前颁发状态、证书管理对象编号、颁发状态更新时间。
5.根据权利要求1~3任一所述的方法,其特征在于,
确定所述各证书信息块是否有效,包括:
利用证书信息块中对应的发证机构公钥对所述第一签名解密,得到第一明文;
判断所述第一明文中的发证机构公钥及证书信息与所述证书信息块中的是否相同,若相同则证书信息块有效,否则无效;
确定各所述初始操作信息块是否有效,包括:
利用目标证书信息块中的发证机构公钥对所述第二签名解密,得到第二明文;
判断所述第二明文中的发证机构公钥及哈希值与所述初始操作信息块中的第一哈希值及所述目标证书信息块中的发证机构公钥是否相同,若相同则所述初始操作信息块有效,否则无效;
确定各所述变更操作信息块是否有效,包括:
利用目标操作信息块对应的发证机构公钥对所述第三签名解密,得到第三明文;
判断第三明文中的发证机构公钥及哈希值,与最新的目标操作信息块对应的发证机构公钥及对应的第二哈希值是否相同,若相同则变更操作信息块有效,否则无效。
6.根据权利要求4所述的方法,其特征在于,还包括:
响应于证书查询指令,查询所述证书信息表;
确定查询到所述证书信息表中的证书表项,发送证书表项中的证书信息到客户端;或者,
确定没有查询到所述证书信息表中的证书表项,发送无查询相关结果到客户端。
7.根据权利要求1所述的方法,其特征在于,响应于证书生成指令,生成至少一个证书信息块之前,还包括:
根据所述证书生成指令中的发证机构名称及发证机构代码,确定该发证机构的名称、发证机构代码以及该发证机构对应的发证机构公钥是否存在所述发证机构信息表中;
若不存在,通知发证机构进行登记,接收所述发证机构发送的登记指令,根据所述登记指令中的发证机构的名称、发证机构代码及发证机构公钥生成该发证机构对应表项并写入所述发证机构信息表。
8.一种基于区块链的证书生成管理装置,其特征在于,包括:
证书生成模块,用于生成至少一个证书信息块,各所述证书信息块包括证书生成指令中的证书信息、查询得到的发证机构公钥,及利用证书生成指令中的发证机构私钥对所述证书信息和发证机构公钥加密得到的第一签名;
证书上链模块,用于验证各证书信息块中的发证机构公钥合法后,利用所述发证机构公钥及所述第一签名确定所述证书信息块是否有效;
还用于对有效的证书信息块进行哈希计算,并将所述有效的证书信息块及对应的第一哈希值放入第一区块进行第一上链操作;
证书管理模块,用于查询并读取符合管理条件的目标证书信息块,并利用证书管理指令中的发证机构私钥对所述目标证书信息块中的发证机构公钥及对应的第一哈希值加密,得到第二签名;
还用于根据所述目标证书信息块对应的第一哈希值、第二签名、证书管理指令的操作类别及证书管理指令中的证书管理对象编号生成初始操作信息块;
管理上链模块,用于确定待上链的各初始操作信息块,并利用对应的目标证书信息块中的发证机构公钥对所述待上链的各初始操作信息块中对应的签名进行解密,确定所述待上链的各初始操作信息块是否有效;
还用于对有效的初始操作信息块进行哈希计算,并将所述有效的初始操作信息块及对应的第二哈希值放入第二区块进行第二上链操作。
9.一种基于区块链的证书生成管理设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-7中任何一项所述的基于区块链的证书生成管理方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于使计算机执行如权利要求1-7中任何一项所述的基于区块链的证书生成管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310540880.0A CN117194559A (zh) | 2023-05-12 | 2023-05-12 | 基于区块链的证书生成管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310540880.0A CN117194559A (zh) | 2023-05-12 | 2023-05-12 | 基于区块链的证书生成管理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117194559A true CN117194559A (zh) | 2023-12-08 |
Family
ID=88987507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310540880.0A Pending CN117194559A (zh) | 2023-05-12 | 2023-05-12 | 基于区块链的证书生成管理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117194559A (zh) |
-
2023
- 2023-05-12 CN CN202310540880.0A patent/CN117194559A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11361109B2 (en) | Distributed blockchain-based method for the collective signing of a file by several parties | |
CN109074433B (zh) | 使用分布式散列表和点对点分布式分类账验证数字资产完整性的方法和系统 | |
JP6943356B2 (ja) | Utxo基盤プロトコルを利用したブロックチェーン基盤の文書管理方法及びこれを利用した文書管理サーバ{method for managing document on basis of blockchain by using utxo−based protocol,and document management server using same} | |
Li et al. | FADB: A fine-grained access control scheme for VANET data based on blockchain | |
JP6877448B2 (ja) | 分散ハッシュテーブル及びブロックチェーンを用いてコンピュータソフトウェアを保証する方法及びシステム | |
CN110800254B (zh) | 用于生成数字标记的系统和方法 | |
US20200186354A1 (en) | Digital composition hashing | |
EP1793527A2 (en) | Apparatus and method for managing electronic original data | |
WO2018114586A1 (en) | Distributed blockchain-based method for the collective signing of a file by several parties | |
CN110771095A (zh) | 用于实现基于区块链的数字证书的系统和方法 | |
US11711221B1 (en) | Systems and methods for trusted chain code system | |
CN113112252B (zh) | 基于区块链的资源转移方法、装置、电子设备及存储介质 | |
CN110826091B (zh) | 一种文件签名方法、装置、电子设备及可读存储介质 | |
CN113420049A (zh) | 数据流通方法、装置、电子设备及存储介质 | |
CN110598433A (zh) | 基于区块链的防伪信息处理方法、装置 | |
CN107094075A (zh) | 一种基于收敛加密的数据块动态操作方法 | |
CN115840787A (zh) | 基于区块链的供应链数据共享方法、装置、设备及介质 | |
CN114944937A (zh) | 分布式数字身份验证方法、系统、电子设备及存储介质 | |
CN117194559A (zh) | 基于区块链的证书生成管理方法、装置、设备及存储介质 | |
KR102525795B1 (ko) | Did 기반의 문서 관리 서버, 블록 체인 서버, 시스템 및 그것의 제어 방법 | |
CN111404662B (zh) | 一种数据处理方法及装置 | |
KR102600260B1 (ko) | Did에 기초하여 문서에 서명이 가능한 전자 문서 관리 서버, 블록 체인 서버, 시스템 및 그것의 제어 방법 | |
CN109145642B (zh) | 基于cpk数字印章的数据存储方法、终端及数据库 | |
WO2022186755A1 (en) | Method and system for registering digital documents | |
CN116743488A (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 |