首先安装依赖工具:
sudo apt install yum
这里我们如果使用yum去安装会报错:
所以我们换成sudo apt-get install
sudo apt-get install libtool
sudo apt-get install libltdl-dev
sudo apt-get install libltdl3-dev
我们在下载fabeic ca的镜像:
git clone git://github.com/hyperledger/fabric-ca.git
sudo git checkout v1.4.0
然后再make fabric-ca-server
make fabric-ca-client
sudo vi /etc/profile
增加环境变量
export GOBIN=/opt/gopath/src/github.com/hyperledger/fabric-ca/bin
export PATH=$PATH:$GOBIN
载入环境变量
source /etc/profile
在安装CA的时候,需要make fabric-ca-server 和 fabric-ca-client 的时候我们需要注意:
如果出现了以下的情况:
说明是缺少了组件
此时我们安装libtdl3-dev:
我们再进行make:
就显示成功了:
进入文件夹查看:
文件以及存在!
接下来我们初始化CA服务:
../fabric-ca-server init -b admin:adminpw --home ./rootca
这里因为我们是在ca-server路径下,但是配置文件是在上一级目录中,所以我们这里用了“../”来表示从上一级去执行那个文件:
显示初始化成功了!
这里我们把他的服务开起来!(下图为根CA服务的开启)
这里我们需要注意,所有不管是根CA服务还是中间CA服务都需要一直处于开启状态!
这里我们开启根CA服务后:再启动中间CA1服务:
开启后我们进行根CA1的端口号的修改:(这里注意不同的CA服务器都要对应不同的端口号,不然就会产生冲突!所以每次在初始化之后都要修改一下此CA服务器端口号)
我们再进行根CA1的服务的开启:
指令:../fabric-ca-server start -b admin1:adminpw1 -u http://admin:adminpw@localhost:7054 --home ./intermediaca1 --cfg.affiliations.allowremove --cfg.identities.allowremove
然后后续生成中间CA2和中间CA3也是一样的步骤。
我们再利用中间CA1去登记一个组织:
# fabric-ca-client affiliation list -M ./crypto-config/ordererOrganizations/example.com/msp -u http://admin1:adminpw1@localhost:7055 --home ./fabric-ca-client
# fabric-ca-client affiliation remove --force org1 -M ./crypto-config/ordererOrganizations/example.com/msp -u http://admin1:adminpw1@localhost:7055 --home ./fabric-ca-client
# fabric-ca-client affiliation remove --force org2 -M ./crypto-config/ordererOrganizations/example.com/msp -u http://admin1:adminpw1@localhost:7055 --home ./fabric-ca-client
# fabric-ca-client affiliation add com -M ./crypto-config/ordererOrganizations/example.com/msp -u http://admin1:adminpw1@localhost:7055 --home ./fabric-ca-client
# fabric-ca-client affiliation add com.example -M ./crypto-config/ordererOrganizations/example.com/msp -u http://admin1:adminpw1@localhost:7055 --home ./fabric-ca-client
然后我们生成管理员的msp:
这里注意,因为是管理员也就是成员的时候,需要先进行注册然后再进行登记。
接下来我们看一下他的证书结构:
然后是生成结点的msp,步骤也是一样的:
这里我们从总体来看一下Fabric CA的结构:
HyperLedger Fabric CA 是 HyperLedger Fabric的证书颁发机构。
Fabric kafka生产环境部署有三个组织,分别为orderer(排序)组织和两个Peer(节点)组织,对应的ID为example.com、org1.example.com和org2.example.com。为了让生产环境Fabric CA具有扩展性和安全性,存在一个逻辑的根CA(RootCA)和三个中间CA(Intermedia CA),三个中间CA(Intermedia CA)都隶属根CA(RootCA)。三个中间CA(Intermedia CA)分别负责orderer(排序)组织和两个Peer(节点)组织的公私钥和证书生成。当有新的组织加入,只需再生成一个中间CA(Intermedia CA)接入到根CA(RootCA)下,不会影响其它中间CA(Intermedia CA),生产环境CA网络拓扑图如下:
首先由基础设施管理员创建根CA的服务器,并且管理他。有新的联盟业务来的时候,基础设施管理员用根CA服务器为这个新联盟创建一个中间CA服务器,将这个中间CA服务器的控制权移交给此联盟的管理员,由联盟管理员使用中间CA服务器来为这个联盟下面的成员颁发证书。一个中间CA服务器负责一个联盟的证书管理。