Hyperledger Fabric 核心模块Fabric-ca-client

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hyperledger Fabric 核心模块Fabric-ca-client相关的知识,希望对你有一定的参考价值。

fabric-ca-client 模块通过相关的子命令完成账号注册、授权申请、证书撤销等操作 。

1. 命令

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

2. fabric-ca-client 模块的参数选项

fabric-ca-client 模块和 fabric-ca-server 模块一样,所有命令公用一组全局选项,不同的子命令需要的选项是不一样的 。
2.1 基本管理

• --caname : CA 服务器名称 。
• -H, --home : 客户端的目录,用来存放客户端相关的文件(默认值为”/root/.fabric-caclient”) 。
• -M, --mspdir :客户端的账号证书文件的目录( default ”msp") 。
• -d,一debug :将客户端的日志设置为 debug 模式 。
• -u, 一url: fabric-ca- server 的地址(默认值为”http://localhost:7054”) 。
2.2 账号登记

• --enrollment.attrs :账号登记请求中的属性( e . g. foo, bar:opt ) 。
• --enrollment.label :登记请求中 HSM 相关的标签 。
• --enrollment.profile : 登记请求中的 profile 。

2.3 账号注册

·…id. affiliation :账号注册时组织的部门信息 。
·一id.attrs :账号注册时的属性列表( e.g. foo=foo 1, bar=barl ) 。
·一id.maxenrollments : 当前注册后可以进行登记的次数( default -1 ) 。
.…id.name :账号注册时的用户名 。
·…id . secret :账号注册的密码 。
• --id.type :账号注册的类型,目前支持(’peer, app, user’),默认值为”user"

2.4 证书吊销

• -a,一revoke.aki : 注销证书时需要的公钥 。
• -e,一revoke.name : 注销证书时的实体名称 。
• -r, 一revoke.reason :注销的原因 。
.s --revoke.serial :注销证书的序列号

2.5 CA 证签名

• --csr.cn: CA 签名请求时,请求报文中的通用名 。
• --csr.hosts: CA 签名请求时,请求报文中的主机名 。
• --csr.names: CA 签名请求时,请求报文中的附加名称(比如 C=CA, O=Org 1 ) 。
• --csr.serialnumber: CA 签名请求时,请求报文中的序列号 。
• -m, 一myhost: CA 签名请求时,请求报文中请求主机名称,默认值是本地主机 。

2.6 TLS 通信

• --tls.certfiles: TLS 通信模式下的证书文件, PEM 文件格式 。
• --tls.client.certfile: TLS 通信模式下客户端的证书文件, PEM 文件格式 。
·一tls.client.keyfile: TLS 通信模式下客户端的私钥文件 。

3. fabric-ca-clien t 常用的命令

  • 注册新账号
    fabric - ca-c l 工 ent regi ster - - 工 d name peer2 - - id . type peer - - id . a f f 工 li a tio口
    orgl.department l --工d .secret peer2wd -u http 😕/localhost :7 054
  • 载入账号信息
    fabri c-ca-c l 工 e nt enroll -M /usr/fabric - testl/msp -u http 😕/peerl :peerlpw@
    localhost 7054
  • 获取 CA 服务器的证书
    fabric - ca-c l 工 e nt getcacert -u http 😕/localhost : 7054 - M /usr/fabric - t estl/msp

4. 将 fabric-ca-server 绑定到现有项目中

动态生成用户账号文件

  1. 编辑 fabric-ca-server 的配 置文件 fabric-ca-server-config .yaml,生成新的证书文件夹,进入存放组织 orgl 相关的证书的文件夹
  2. 通过害户端从已经绑定的 fab r ic - ca-server中生成账号

step1.设置 fabric-ca-client 环境变量

fabric - ca-cl ient 在使用之前 需 要 创 建 - 个目 录 ,该目录存放 fabric-ca-client的账号
(msp )文件,本例中使用的目录如下所示 :
mkdir -p /opt/hyperledge r/fabr ic -client

目录创建完成之后,利用管理员账号和密码注册,获取管理员账号( msp )的证书文件 。
export FABRIC_ CA CLIENT HOME=/opt/hyperledger/fabric-ca-client
f a bri C-ca-client enroll u http : // admin : adminpw@localhost : 7054 -M
/opt/hyperle dg er/fabr 工 c clien t

step2. 注册账号

现在开始注册一个用户名为 usertest ,密码为 user2wd 的账号,注册命令示例如下所示:
fabric-ca client register --id . name usertest --工d . type user --id . affiliation
orgl .depar tmentl - - i d . secre t user2wd -u h t t p://loc alhost : 7054

step3. 载入账号

现在将上一步注册的账号 usertest 加载到本地,首先需要在本地创建要给目录用来存放
从服务器下载的证书,目录可以是任何目录 。 本例的目录如下所示:
mkdi r p /opt/hyperledge r/qklszznuser
在上述命令创建的目 录 中, 登记账号 usert巳st ,并将登记成功的账号的相关文件保存到
指定目录中 。 登记账号的命令如下所示:
f a br ic c a client e口 roll u http 😕/usertest : user2wd@localhost : 7054 -M /opt/
hyperledger /qklszznu s er/msp

step4. 复制管理员签名和公用 TLS 证书文件

复制管理账号的签名的命令如下所示:

mkdir /opt/hyperledger/qklszznuser/msp/admincerts
cp /opt / hy perledger c ommconfig/fabr 工 cc onfi g/c rypto - con fig/ p eerOr ga ni zati0os/orgl . qklszzn . com/users/Admin@orgl qklszzn . com/msp/s 工 gncerts/ * /opt/hyperledger/
qklszznuser/msp/admincerts

客户端程序通过 fabric-ca-server 提供的 RESTAPI 接口完成账号注册 、 账号登记等操作

以上是关于Hyperledger Fabric 核心模块Fabric-ca-client的主要内容,如果未能解决你的问题,请参考以下文章

Hyperledger Fabric 核心模块configtxgen工具

Hyperledger Fabric 核心模块Fabric-ca-server

Hyperledger Fabric 核心模块Fabric-ca-client

Hyperledger Fabric 核心模块orderer 共识

Hyperledger Fabric 核心模块configtxlator工具

Hyperledger Fabric 核心模块cryptogen 工具