没有合适的资源?快使用搜索试试~ 我知道了~
首页Hyperledger Fabric手动生成CA证书搭建Fabric网络-Raft.pdf
资源详情
资源评论
资源推荐

Hyperledger Fabric动成CA证书搭建Fabric络
1、总体架构
官采的是多机部署环境、这就简化下下,所有操作就简化下都在台机上。多机环
境后在验证。
下介绍下本所采的整体架构
三个组织
组织中的成员
Org0 ---> 组织0
Org1 ---> 组织1
Org2 ---> 组织2

四台CA服务
这的四台CA服务都是根服务。彼此之间都是独的存在,没有任何关系。,也就是
说每个CA服务成的证书在其他CA服务都是能的。
介绍完之后,可以进正题。
2、Fabric、Fabric-CA环境搭建
Fabric、Fabric-CA的基础环境搭建就再这说,明的可以去看官。
完成环境搭建以后我们还需要个 HOME 录于存放我们成的证书件以及Fabric配
置件,本设置的HOME 径为:
/tmp/hyperledger
这个创建,般要太复杂的径,也要中径,会为之后的操作带来很多麻
烦。在下中简单称HOME 件夹为作录,除特殊说明,般命令的执都是在作
录进。
注:因所有服务启动均使docker-compose为使其在同个docker network 我们
需要设置export COMPOSE_PROJECT_NAME=net 或者将所有的docker-compose
件存放在个录下。
3、CA服务的配置
3.1启动TLS CA服务
Org0: 个orderer节点,个Org0的Admin节点
Org1: 两个Peer节点,个Org1的Admin节点,个Org1的User节点
Org2: 两个Peer节点,个Org2的Admin节点,个Org2的User节点
TLS服务:为络中所有节点颁发TLS证书,于通信的加密
Org1的CA服务:为组织1中所有户颁发证书
Org2的Ca服务:为组织2中所有户颁发证书
Org0的CA服务:为组织0中所有户颁发证书

前期作准备好之后,我们开始启动第台CA服务。本中使Docker容启动。
3.1.1 创建docker-compose.yaml件
mkdir -p /tmp/hyperledger/docker-compose/fabric-ca-tls && cd
/tmp/hyperledger/docker-compose/fabric-ca-tls
touch docker-compose.yaml
并在件内添加以下内容(tips:内容格式要乱掉):
version: '2'
networks:
fabric-ca:
services:
ca-tls:
container_name: ca-tls
image: hyperledger/fabric-ca
command: sh -c 'fabric-ca-server start -d -b tls-ca-admin:tls-ca-adminpw --port
7052'
environment:
- FABRIC_CA_SERVER_HOME=/tmp/hyperledger/fabric-ca/crypto
- FABRIC_CA_SERVER_TLS_ENABLED=true
- FABRIC_CA_SERVER_CSR_CN=ca-tls
- FABRIC_CA_SERVER_CSR_HOSTS=0.0.0.0
- FABRIC_CA_SERVER_PORT=7052
- FABRIC_CA_SERVER_DEBUG=true
volumes:
- /tmp/hyperledger/fabric-ca-tls:/tmp/hyperledger/fabric-ca
networks:
- fabric-ca
ports:
- 7052:7052

启动docker容
docker-compose up -d
如果命令出现以下内容则说明启动成功:
[INFO] Listening on https://0.0.0.0:7052
同时作录/tmp/hyperledger/fabric-ca/ 下会出现crypto 件夹,的具体内容在
这解释,想解的可以去官查看。过有个件需要解释下,应为之后会频繁的使
到。
在/tmp/hyperledger/fabric-ca/crypto/径下的ca-cert.pem件。这是TLS CA服务的签
名根证书,的是来对CA的TLS证书进验证,同时也需要持有这个证书才可以进证书
的颁发。
多环境下我们需要将它复制到每台机上。
3.1.2 TLS CA 服务注册户
第步是在TLS CA服务中注册户,经过注册的户才拥有TLS证书。
设置环境变&登陆
#设置环境变指定根证书的径(如果作录同的话记得指定的作录,以下
再重复说明)
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/fabric-ca-
tls/crypto/ca-cert.pem
#设置环境变指定CA客户端的HOME件夹
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/fabric-ca-tls/admin
#登录管员户于之后的节点身份注册
fabric-ca-client enroll -d -u https://tls-ca-admin:tls-ca-adminpw@0.0.0.0:7052 --
tls.certfiles /tmp/hyperledger/fabric-ca-tls/crypto/ca-cert.pem
登陆成功后会在/tmp/hyperledger/fabric-ca-tls/ 录下给你admin 件夹,这是
admin 相关的证书件,并且只有登陆admin,才具有权限进户注册,因为该户具有
CA的全部权限,相当于CA服务的root户。
接下来对各个节点和户进注册
fabric-ca-client register -d --id.name peer1-org1 --id.secret peer1PW --id.type peer -u

https://0.0.0.0:7052 --tls.certfiles /tmp/hyperledger/fabric-ca-tls/crypto/ca-cert.pem
fabric-ca-client register -d --id.name peer2-org1 --id.secret peer2PW --id.type peer -u
https://0.0.0.0:7052 --tls.certfiles /tmp/hyperledger/fabric-ca-tls/crypto/ca-cert.pem
fabric-ca-client register -d --id.name peer1-org2 --id.secret peer1PW --id.type peer -u
https://0.0.0.0:7052 --tls.certfiles /tmp/hyperledger/fabric-ca-tls/crypto/ca-cert.pem
fabric-ca-client register -d --id.name peer2-org2 --id.secret peer2PW --id.type peer -u
https://0.0.0.0:7052 --tls.certfiles /tmp/hyperledger/fabric-ca-tls/crypto/ca-cert.pem
fabric-ca-client register -d --id.name orderer1-org0 --id.secret ordererPW --id.type
orderer -u https://0.0.0.0:7052 --tls.certfiles /tmp/hyperledger/fabric-ca-tls/crypto/ca-
cert.pem
fabric-ca-client register -d --id.name admin-org1 --id.secret org1AdminPW --id.type
admin -u https://0.0.0.0:7052 --tls.certfiles /tmp/hyperledger/fabric-ca-tls/crypto/ca-
cert.pem
fabric-ca-client register -d --id.name admin-org2 --id.secret org2AdminPW --id.type
admin -u https://0.0.0.0:7052 --tls.certfiles /tmp/hyperledger/fabric-ca-tls/crypto/ca-
cert.pem
这我们为各个节点注册TLS证书,之后Fabric络的通信则需要通过这步骤注册过的
户的TLS证书来进TLS加密通信。
到这我们只是注册各个节点的身份,还没有获取到他们的证书。证书可以通过登录获
取,过暂时着急获取他们的TLS证书。
接下来,我们对其他个CA服务进配置。
3.2配置Org0的CA服务
再强调下,本中的个CA服务都是根服务,彼此之间没有任何关系,所以上步
骤的TLS CA服务在这部分并没有到。
同样,本使Docker容启动CA服务。
mkdir -p /tmp/hyperledger/org0/ca
剩余47页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0