Hyperledger fabric MSP成员管理
Hyperledger fabric 1.0 基于 PKI(Public Key Infrastructure)体系,引入了MSP模块(Membership Service Provider): 成员管理服务提供商,生成数字证书来标识和管理成员的身份。
Fabirc的成员身份基于标准的X.509证书,密钥使用的是ECDSA算法,利用PKI体系给每个成员颁发数字证书,通道内只有相同MSP内的节点才可以通过Gossip协议进行数据分发。
证书类型
每个MSP只有一个根CA证书,从根CA证书到最终用户证书形成一个证书信任链(chain of trust)
根CA证书(Root Certifiate):自签名的证书,用根CA签名生成的证书可以签发新的证书,形成树型结构 (必须配置)
中间CA证书(Intermediate Certificate):由其他CA证书签发的证书,可以利用自己的私钥签发新的证书 (可选配置)
MSP管理员证书: 有根CA的证书路径,有权限修改channel配置 (必须配置) – 创建channel,加入channel等请求都需要管理员私钥进行签名
TLS根CA证书:自签名的证书,用于TLS(Transport Layer Security, 安全传输层协议)传输 (必须配置)
MSP目录
分析fabric v1.1示例中的crypto-config目录,网络中共有1个orderer节点和4个peer节点(分为两个组织org1,org2),该目录利用cryptogen工具生成。目录下有ordererOrganizations和peerOrgnizations两个子目录,分别表示orderer节点和peer节点MSP配置。这里分析org1的MSP配置,为了方便节点的部署,目录中有很多冗余存储。
org1.example.com
├── ca # 根CA的私钥和证书
│ ├── 0e729224e8b3f31784c8a93c5b8ef6f4c1c91d9e6e577c45c33163609fe40011_sk
│ └── ca.org1.example.com-cert.pem
├── msp # MSP配置目录
│ ├── admincerts # MSP管理员证书
│ │ └── Admin@org1.example.com-cert.pem
│ ├── cacerts # MSP根CA证书(与ca目录下的证书一致)
│ │ └── ca.org1.example.com-cert.pem
│ └── tlscacerts # TLS根CA证书
│ └── tlsca.org1.example.com-cert.pem
├── peers # peer节点的MSP配置私钥
│ ├── peer0.org1.example.com # peer0节点配置
│ │ ├── msp
│ │ │ ├── admincerts # 管理员证书
│ │ │ │ └── Admin@org1.example.com-cert.pem
│ │ │ ├── cacerts # 根CA证书
│ │ │ │ └── ca.org1.example.com-cert.pem
│ │ │ ├── keystore # 节点的私钥
│ │ │ │ └── 27db82c96b1482480baa1c75f80e5cce249beaab27b70c741bb0e2554355957e_sk
│ │ │ ├── signcerts # 节点的证书
│ │ │ │ └── peer0.org1.example.com-cert.pem
│ │ │ └── tlscacerts # TLS根CA证书
│ │ │ └── tlsca.org1.example.com-cert.pem
│ │ └── tls
│ │ ├── ca.crt # TLS根CA证书
│ │ ├── server.crt # 节点用的TLS证书
│ │ └── server.key # 节点的TLS私钥
│ └── peer1.org1.example.com
│ ├── msp
│ │ ├── admincerts
│ │ │ └── Admin@org1.example.com-cert.pem
│ │ ├── cacerts
│ │ │ └── ca.org1.example.com-cert.pem
│ │ ├── keystore
│ │ │ └── fdee12a3510fde3155c37128cfec26090ae249bfbca28f884e60c21338493edd_sk
│ │ ├── signcerts
│ │ │ └── peer1.org1.example.com-cert.pem
│ │ └── tlscacerts
│ │ └── tlsca.org1.example.com-cert.pem
│ └── tls
│ ├── ca.crt
│ ├── server.crt
│ └── server.key
├── tlsca # TLS根CA证书和私钥
│ ├── 945092d936f5838c5a6f6484db974d857933706737d00d04bf65f74e3976f9f8_sk
│ └── tlsca.org1.example.com-cert.pem
└── users # 默认生成的用户配置,一般会包含1个管理员和1个普通成员
├── Admin@org1.example.com # MSP管理员
│ ├── msp
│ │ ├── admincerts # 管理员证书
│ │ │ └── Admin@org1.example.com-cert.pem
│ │ ├── cacerts # CA根证书
│ │ │ └── ca.org1.example.com-cert.pem
│ │ ├── keystore # 管理员私钥
│ │ │ └── 5890f0061619c06fb29dea8cb304edecc020fe63f41a6db109f1e227cc1cb2a8_sk
│ │ ├── signcerts # 管理员证书
│ │ │ └── Admin@org1.example.com-cert.pem
│ │ └── tlscacerts # TLS根证书
│ │ └── tlsca.org1.example.com-cert.pem
│ └── tls
│ ├── ca.crt # TLS根证书
│ ├── server.crt # 管理员的TLS证书
│ └── server.key # 管理员的TLS私钥
└── User1@org1.example.com
├── msp
│ ├── admincerts
│ │ └── User1@org1.example.com-cert.pem
│ ├── cacerts
│ │ └── ca.org1.example.com-cert.pem
│ ├── keystore
│ │ └── 73cdc0072c7203f1ec512232c780fc84acc9752ef30ebc16be1f4666c02b614b_sk
│ ├── signcerts
│ │ └── User1@org1.example.com-cert.pem
│ └── tlscacerts
│ └── tlsca.org1.example.com-cert.pem
└── tls
├── ca.crt
├── server.crt
└── server.key
Hyperledger fabric MSP成员管理的更多相关文章
- Hyperledger Fabric MSP Identity Validity Rules——MSP身份验证规则
MSP Identity Validity Rules——MSP身份验证规则 正如Hyperledger Fabric Membership Service Providers (MSP)——成员服务 ...
- Hyperledger Fabric 1.0 从零开始(九)——Fabric多节点集群生产启动
7:Fabric多节点集群生产启动 7.1.多节点服务器配置 在生产环境上,我们沿用4.1.配置说明中的服务器各节点配置方案. 我们申请了五台生产服务器,其中四台服务器运行peer节点,另外一台服务器 ...
- Hyperledger Fabric CouchDB as the State Database
使用CouchDB作为状态数据库 状态数据库选项 状态数据库包括LevelDB和CouchDB.LevelDB是嵌入在peer进程中的默认键/值状态数据库,CouchDB是一个可选的外部状态数据库.与 ...
- HyperLedger Fabric 1.1 手动部署单机单节点
手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...
- Centos7 HyperLedger Fabric 1.4 生产环境部署
Kafka生产环境部署案例采用三个排序(orderer)服务.四个kafka.三个zookeeper和四个节点(peer)组成,共准备八台服务器,每台服务器对应的服务如下所示: kafka案例网络拓扑 ...
- Hyperledger fabric 1.3版本的安装部署(原创多机多Orderer部署
首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引 ...
- Hyperledger Fabric CouchDB as the State Database——使用CouchDB
使用CouchDB作为状态数据库 状态数据库选项 状态数据库包括LevelDB和CouchDB.LevelDB是嵌入在peer进程中的默认键/值状态数据库,CouchDB是一个可选的外部状态数据库.与 ...
- 搭建基于hyperledger fabric的联盟社区(三) --生成公私钥证书及配置文件
一.生成公私钥和证书 Fabric中有两种类型的公私钥和证书,一种是给节点之前通讯安全而准备的TLS证书,另一种是用户登录和权限控制的用户证书.这些证书本来应该是由CA来颁发,但是目前只有两个社区,所 ...
- HyperLedger Fabric 1.4 kafka生产环境部署(11.1)
11.1 Kafka模式简介 上一章介绍的Solo模式只存在一个排序(orderer)服务,是一种中心化结构,一旦排序(orderer)服务出现了问题,整个区块链网络将会崩溃,为了能在正式 ...
随机推荐
- material UI中子组件样式修改的几种方案研究
material UI是一个流行的与React配套的前端UI框架,对于开发者而言,熟悉它的样式修改方案是必要的.但目前相关资料并不直观,并且没有总结到一起.如果对相关特性不太清楚,开发者很可能会在 ...
- MyBatis学习总结(9)——使用MyBatis Generator自动创建代码
2019独角兽企业重金招聘Python工程师标准>>> 由于MyBatis属于一种半自动的ORM框架,所以主要的工作就是配置Mapping映射文件,但是由于手写映射文件很容易出错,所 ...
- SDN 是什么
SDN,Software Defined Network,软件定义(的)网络,这些年方兴未艾,愈演愈烈.但是,笔者以为,SDN 也有愈演愈劣的趋势.而且,现在业界关于什么叫 SDN,也是众说纷坛,莫衷 ...
- 在okhttp的callback回调中加Toast出现Cant create handler inside hread that has not called Looper.prepare()...
2019独角兽企业重金招聘Python工程师标准>>> 分析:callback中回调的response方法中还是在子线程中运行的,所以要调取Toast必须回到主线程中更新ui 解决方 ...
- 搭建Springboot+mybatis+redis+druid
2019独角兽企业重金招聘Python工程师标准>>> 准备工作 JDK:1.8 使用技术:SpringBoot.Dubbo.Mybatis.Druid 开发工具:Intelj ID ...
- RF(IF 判断)
1.关键字 Run Keyword If,格式如下: ELSE 必须大写 ELSE 前面需要加 "..." 表示缩进 Run Keyword If a == b log T ...
- 利用github的webhook进行自动部署
利用github的webhook进行自动部署 github提供了webhook功能,大概意思就是,当你提交了代码,git检测到你进行了push,可以调起你一个你知道的url. 这个功能有什么用了?比如 ...
- 2019-2020Nowcoder Girl初赛 题解
题目都不是很难,就是最后一题有点毒瘤 第一题:牛妹爱整除 这个你把一个进制数进行拆分,拆分成若干位,然后在取模,这样会发现如果是x进制的数,那么对x+1这个进制转化即满足条件. 举个例子:一个x进制数 ...
- W - Doom HDU - 5239 线段树 找取模的规律+求一个很大的数的平方对一个数取模的写法 特别的模数==2^63-2^31
这个题目一开始感觉还是有点难的,这个模数这么大,根本就不知道怎么写,然后去搜了题解,知道了怎么去求当x很大的时候x的平方对一个数取模怎么样不会爆掉. 然后还顺便发现了一个规律就是当一个数更新一定次数之 ...
- K - Leapin' Lizards HDU - 2732 网络流
题目链接:https://vjudge.net/contest/299467#problem/K 这个题目从数据范围来看可以发现是网络流,怎么建图呢?这个其实不是特别难,主要是读题难. 这个建图就是把 ...