Fabric实战(12)Fabric CA-账号服务器

本文详细介绍了如何在Ubuntu 16.04上编译、安装和使用Fabric CA,包括fabric-ca-server的启动、初始化、配置以及fabric-ca-client的命令行选项。还阐述了如何将fabric-ca-server集成到现有Fabric网络项目中,动态生成用户账号,并验证新用户的证书和私钥。
摘要由CSDN通过智能技术生成

本文章所有操作基于的操作系统版本是:ubuntu16.04 64位
本文章基于的Fabric网络环境是《Fabric实战(2)运行一个简单的fabric网络(容器外)》

1 Fabric-ca的编译和安装

第一步:安装依赖

sudo apt-get install libtool libltdl-dev

第二步:下载源代码并编译

cd $GOPATH/src/github.com/hyperledger/

git clone http://gerrit.hyperledger.org/r/fabric-ca

cd fabric-ca/

#编译server和client
make fabric-ca-server 
make fabric-ca-client 

第三步:安装编译号的可执行文件

sudo cp ~/go/src/github.com/hyperledger/fabric-ca/bin/* /usr/local/bin/

第四步:验证是否安装成功

fabric-ca-server version
fabric-ca-client version

2 Fabric-ca-server

fabric-ca-server启动之后是以守护进程的方式存在,可以通过fabric-ca-client或者其他实现了通信协议的客户端发起。faric-ca-server有三种方式设置配置信息,分别是启动参数、环境变量、配置文件

2.1 Fabric-ca-server命令行选项和说明

2.1.1 Fabric-ca-server子命令

fabric-ca-server模块有三个子命令,分别是:

  • init: 初始化fabric-ca服务器
  • start: 启动fabric-ca 服务器
  • version: 显示版本

2.2 Fabric-ca-server初始化

fabric-ca-server可以通过配置文件进行参数设置。执行fabric-ca-server的子命令init,可以初始化生成相关的配置文件。在执行init命令之前需要创建相关的文件夹,本教程创建如下文件夹(实际可随意指定文件夹路径):

mkdir -p  ~/fabric-ws/fabric-ca-server

ca服务器初始化:

cd ~/fabric-ws/fabric-ca-server
fabric-ca-server init -b admin:adminpw

-b参数后面的是fabric-ca-server服务器的管理账号的用户名和密码,相当于设定ca服务器的管理员账号的用户名和密码,这里给出就是一个例子,生产环境请使用复杂的密码。

fabric-ca-server初始化命令执行之后,会在当前目录下生成相应的配置文件,这些文件的名字和作用如下:

  • fabric-ca-server-config.yaml:配置文件
  • fabric-ca-server.db:数据库文件(数据库选择sqlite3时有效)
  • ca-cert.pem:证书文件
  • msp:私钥文件夹

2.3 Fabric-ca-server启动

编辑好配置文件之后,启动命令如下:

fabric-ca-server start -H /home/zym/fabric-ws/fabric-ca-server --boot admin:adminpw

启动完成之后可以通过客户端程序或者通过fabric-ca-client模块访问fabric-server服务。

3 Fabric-ca-client

fabric-ca-server提供了一组RESTAPI接口供第三方应用程序调用。fabric-ca-client对这些RESTAPI接口进行了封装,只需设置简单的参数便可以完成账号注册、账号授权等操作。

3.1 Fabric-ca-client模块子命令

  • enroll: 登记账号
  • gencrl: 撤销证书
  • gencsr: 创建证书签名
  • getcacert: 获取CA
  • reenroll: 重新登记账号
  • register: 注册一个新账号
  • revoke: 撤销一个账号
  • version: 显示版本信息

3.2 Fabric-ca-client模块参数选项

fabric-ca-client所有子命令公用一组全局选项,不同的子命令需要的选项是不一样的。fabric-ca-client模块的选项及其选项的作用如下:

3.2.1 基本管理命令

    --caname:  #CA服务器的名称
-H,--home:    #客户端的目录,用来存放客户端相关的文件,默认为"~/.fabric-ca-client"
-M, --mspdir:  #客户端的账号文件目录,默认为"msp"
-d, --debug:   #将客户端的日志设为debug模式
-u,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值