前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fabric MSP成员管理

Fabric MSP成员管理

作者头像
zhayujie
发布2020-04-29 10:14:18
9330
发布2020-04-29 10:14:18
举报
文章被收录于专栏:ZYJ的技术专栏ZYJ的技术专栏

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示例中的crypto-config目录,网络中共有1个orderer节点和4个peer节点(分为两个组织org1,org2),该目录利用二进制工具cryptogen成。目录下有ordererOrganizationspeerOrgnizations两个子目录,分别表示orderer节点和peer节点MSP配置。这里提取org1的MSP配置进行分析,为了方便节点的部署,目录中有很多冗余存储。

代码语言:javascript
复制
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
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 证书类型
  • MSP目录
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档