FISCO BCOS上使用第三方CA证书底层节点部署实操

2020-07-24 20:51 栏目:经验之谈 来源:网络整理 查看()

如何生成证书颁发机构证书。节点相互验证时是否交叉验证证书?对于这类在社区中经常遇到的问题,分享一些用第三方证书部署底层节点的个人经验,希望能给大家一些参考。

为什么要改革第三方认证中心证书?

首先,说明我的第三方认证中心证书转换的背景和原因:

社区里的人经常会问第三方认证中心的改革,这是大家关注的重点。

在我们的一些项目中,业务方指定使用第三方认证中心证书,实际生产需求也要求我们进行认证中心转换。

在司法领域的区块链认证的情况下,由具有电子认证许可证的认证机构颁发的认证被要求用作电子认证。

鉴于以上三点,我想大家都很关心如何改革第三方CA证书。

FISCO BCOS技术文档提供了一个CFCA证书转换的案例,但是有些细节需要改进,所以我想写一个教程,其中结合了生产环境转换、第三方CA合作、合规性、技术实现等内容。看看它是否能帮助其他社区用户。

除了在司法领域存放证书之外,第三方认证机构还需要关注哪些其他情况?

基本上,使用证书颁发机构证书的区块链场景很可能使用第三方证书颁发机构证书。是否使用第三方证书是主要考虑因素:

联盟链是否需要第三方认证机构背后的相关资质。

在联盟链中,参与者是否需要一个第三方认证机构作为公正的机构来为节点准入管理和后续控制颁发证书,以防止在自建的认证中心系统中任意颁发证书所带来的节点邪恶等问题。

为什么需要在两级证书模式下配置白名单?如果没有配置,会有什么问题?

在两级证书模式中,由第三方提供的证书颁发机构证书被用作链证书。如果没有配置白名单,可以将CA证书颁发节点的证书连接到该链,通过配置白名单可以实现访问拦截。

实践步骤教学

接下来,让我们看一下使用第三方证书颁发机构证书部署底层节点的具体实际步骤。

这一转变的要点是:

BCOS财政的基础证书颁发机构默认提供三级模式,即证书链-机构证书-节点证书;

在实际环境中,虽然认证中心方可以提供第三方颁发的证书,但在某些情况下存在合规风险;

目前,我们采用的方法是取消机构证书,颁发链状证书——节点证书,其中链状证书由CA提供,crt由CA方提供,基础底层节点的部署与白名单机制配合完成。

环境准备

1.两个测试服务器:118.25.208.8和132.232.115.126

2.操作系统是ubuntu:18.04

3.openssl工具将ubuntu 18.04与openssl 1.1.1一起使用

4.选择通用版本的菲斯科BCOS版本2.5.0,节点使用的节点证书算法为EC secp256k1曲线

5.结合[白名单机制]

https://isco-bcos-documentation . read docs . io/zh _ CN/latest/docs/manual/certificate _ list . html # id2

注意:在测试期间,节点私钥和请求的证书文件是统一管理的,但是在生产环境中,节点私钥应该由每个机构的管理员生成并提交给认证中心方,并且私钥应该单独保存。

基本证书准备

生成基本节点私钥和节点证书请求文件

使用Openssl工具,要求1.0.2或更高版本,并生成相应的节点私钥和节点证书请求文件,以及相应的node.nodeid(nodeid是公钥的十六进制表示)。

注意:第四步中每个节点生成的node.nodeid中的node.key被相应节点的cert_IP_port.key修改,这是底层所需要的。

生产节点1节点_118.25.208.8_30300的相关文件

FISCO BCOS上使用第三方CA证书底层节点部署实操

生产节点2的相关文件节点_118.25.208.8_30301

FISCO BCOS上使用第三方CA证书底层节点部署实操

生产节点3节点_132.232.115.126_30300的相关文件

FISCO BCOS上使用第三方CA证书底层节点部署实操

生产节点4节点_132.232.115.126_30301的相关文档

FISCO BCOS上使用第三方CA证书底层节点部署实操

说明:在FISCO BCOS 2.5版中,私钥和EC secp 256k

注:在BCOS FISCO,CA返回的证书模式是根节点-颁发者,颁发者证书的内容集成在节点证书中。

构建链

第一步:下载国内图片,光盘/克隆https://gitee.com/FISCO-BCOS/generator.git

第二步:完成安装,并光盘~/生成光盘。/scripts/install.sh完成安装。如果usage:发电机xxx的输出表明安装成功。

第三步:获取节点二进制文件,并将最新的fisco-bcos二进制文件导入meta(国内cdn)。如果输出FISCO-BCOS版本: x.x.x-x,这意味着成功

第4步:组织分配

机构甲选择118.25.208.8机构,由机构甲负责创作创世区块

选择附属于132.232.115.126的机构作为机构b

第五步:将认证中心方提供的认证证书作为证书链

在机构a所属的目录中手工创建目录链CA目录,并将CA.crt放入目录链ca目录中

第六步:迁移机构a和机构b元目录下的节点证书。

在元目录中,手工创建相应的节点目录,其中组织A为节点_118.25.208.8_30300,节点_118.25.208.8_30301,组织B为节点_132.232.115.126_30301

每个目录都需要存储相应的节点证书、节点私钥和节点标识,并将CA生成的节点证书、节点标识和节点私钥统一分发到相应的节点目录中,如下图所示:

FISCO BCOS上使用第三方CA证书底层节点部署实操

第七步:机构甲收集所有节点证书

在组织a的元目录下,收集相应的节点证书,以便后续生成创建块。如图所示:

FISCO BCOS上使用第三方CA证书底层节点部署实操

步骤8:手动配置组织A,以修改conf文件夹下的group_genesis.ini,从而生成创建块

步骤9:修改节点部署。在机构甲和机构乙的会议目录下;其中,p2p地址是外部网络地址,rpc和通道地址是内部网络地址

步骤10:在组织元目录中手动创建对等文件

在机构a中创建Peers.txt和peersB.txt,在机构b中创建peers.txt和peersA.txt。

以组织a为例,peers.txt的内容如下:

FISCO BCOS上使用第三方CA证书底层节点部署实操

步骤11:在组织甲和组织乙中生成节点,并执行命令。/generator-build _ install _ package。/meta/peersb . txt/nodea在组织A的生成器中生成组织A的对应节点;执行命令。/generator-build _ install _ package。/meta/peer sa . txt/nodeb在机构b的生成器中生成机构b的对应节点

步骤12:运行两个机构的节点:bash。/nodeA/start_all.sh和bash。/nodeb/start _ all . sh;如果共识状态正常,如图所示:

FISCO BCOS上使用第三方CA证书底层节点部署实操

步骤13:控制台部署和合同部署测试

对比机构A和机构B对应的控制台的运行结果,两个机构的数据一致,保证共识正常

步骤14:在相应节点的配置文件中配置白名单

至此,我们已经完成了第三方证书颁发机构证书的转换以及底层节点的部署。

从流程上看,链证书-机构证书-节点证书的生成过程已经发生了变化,需要在元目录下手工创建peers.txt文件和节点目录。

加入FISCOBCOS开源社区

说到我与FISCOBCOS开源社区的联系,它也来自于CA证书。在一个政企项目对接中,业主要求区块链的底层要适应国家机密,使用业主指定的CA证书。

早期,我们的团队使用其他区块链的底层,不能直接适应国家机密,改造难度大,周期长,成本高;考虑到许多后续国内项目将涉及国家机密的改编和CA改造,我们迫切需要一套完整的区块链底层来支持上述需求。通过圈内朋友的介绍,我了解了FISCOBCOS,经过深入的技术研究和可行性分析,最终选择了FISCOBCOS。

FISCOBCOS开源社区创造了一个开放的交流氛围,欢迎你在社区中与我交流和讨论。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发