上次写完Fabric的证书过期问题之后,有朋友问相关节点的证书问题。正好我们写Fabric Runner的时候,学习过Fabric Test Sample的启动脚本,大致可以介绍一下启动Fabric网络大概在证书相关的部分经历了哪些操作。
1)准备Fabric-ca
Fabric启动最开始启动的是ca的部分,如果你不是为了本地简单跑一跑,基本都要部署CA服务器,ca就是认证服务器,Fabric有专门的Fabric-ca组件用于认证。
测试网络的Fabric-ca启动的时候,可以提供一个配置文件,如果不提供,会根据默认的配置文件生成两个东西,一个是root ca,一个是tls ca。
root ca就是这个机构的根证书,所有其他节点的证书,包括tls证书和节点证书,都依赖这个根证书。
tls ca是其他节点访问这个ca服务的加密证书。tls证书默认是只有一年有效期的,但是可以重复生成,这个在上一篇文章讲过了。
2)使用tls ca生成其他节点的相关文件
准备好tls ca之后,按测试网络的做法,会本地调用peer程序去生成各个节点的msp,msp是一个文件夹,里面包含了节点启动所需要的连接配置文件、节点证书、私钥文件等内容。
首先会调用peer register去注册一个节点用户,然后调用peer enroll去获得该用户的相关证书。
这一步其实使用docker里的peer命令也可以。
3)使用生成的文件,启动peer节点
第三步就是使用生成的文件去启动peer节点了,顺利启动的话,每个机构有一个ca节点,peer节点和peer需要的couchdb,以及一个统一的orderer
总结:
各节点启动文件 依赖于 tlsca
tlsca 依赖于 rootca