超级账本(Hyperledger Fabric)之权限管理浅析

链客,专为开发者而生,有问必答!

此文章来自区块链技术社区,未经允许拒绝转载。

在这里插入图片描述

超级账本(Hyperledger Fabric)之权限管理浅析
超级账本是联盟链的代表,而其相对于共链(例如比特币,以太坊)一个较大的区别在于其强大的角色管理和权限把控上,本文主要介绍其角色管理和权限把控的一些核心机制。

证书生成
证书认证是超级账本中权限管理体系的最基础的机制,而所有证书的生成超级账本提供了一个工具cryptogen用于根据配置文件生成一套证书,并且将这些证书组织为peer和orderer两个核心组件可以直接使用的形式。

配置文件

Cryptogen的配置文件demo如下

#################################################################

OrdererOrgs: #用于orderer 组件使用的组织信息

  • Name: Orderer #orderermsp的名称

Domain: example.com #orderer 的域名后缀

CA: #CA信息,不用关注,照着填写即可

Country: US

Province: California

Locality: San Francisco

Specs: #orderer域名前缀,和Domain一起组成了域名用于tls认证使用

  • Hostname: orderer

PeerOrgs: #用于peer 组件使用的组织信息

  • Name: Org1 #组织名称

Domain: org1.example.com #组织域名

CA:

Country: US

Province: California

Locality: San Francisco

Template: #组织内参与个体的个数

Count: 2

Users: #组织内除了管理员用户外的其他用户个数

Count: 1

  • Name: Org2

Domain: org2.example.com

CA:

Country: US

Province: California

Locality: San Francisco

Template:

Count: 2

Users:

Count: 1

###########################################################################

上面的配置文件定义了一个orderer和两个组织(org1和org2),而每一个组织有两个参与方(template/count=2),同时每一个组织有一个普通用户(users/count=1)和一个管理员。其中域名的信息是为了生成tls证书,不用太关注。

生成工具

将上面的配置文件另存为crypto-config.yaml,然后运行

./cryptogen generate --config=./crypto-config.yaml --output ./crypto-config

其中cryptogen是超级账本源码自带的一个工具,编译方式是找到Fabric的目录,使用命令行:

Make build/bin/cryptogen

编译后,cryptogen存放在Fabric目录的build/bin目录下

参数—config代表了配置文件的路径

参数—output代表了生成的一套证书存放的位置

生成结果

命令运行后生成的目录结构如下

其中ordererOrganizations目录对应的是配置文件中的OrdererOrgs一节,而peerOrganizations目录对应的是PeerOrgs一节。ordererOrganizations/example.com、peerOrganizations/org1.example.com、peerOrganizations/org2.example.com这三个目录分别代表了三个机构,orderer机构一般是虚拟的,或者是超然的,是orderer节点的配置,而每一个机构都有两个根证书,一个用于功能性证书的签发,一个用于tls机制证书的签发,tls机制网上有比较成熟的资料,本文不过多介绍,只关注功能性证书。

每一个组织一般有这些目录

Ca

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值