byfn 启动过程详解

序号 内容 更新人 更新日期 版本
1 文档初始化 许向 2019-3-7 0.1

目录树

项目位于$HOME/fabric

cd fabric/fabric-samples/first-network

清理环境

./byfn.sh down

设置环境变量

export PATH=${PWD}/../bin:${PWD}:$PATH
export FABRIC_CFG_PATH=${PWD}
export CLI_TIMEOUT=10
export CLI_DELAY=3
export CHANNEL_NAME="bidpoc_items"
export COMPOSE_FILE=docker-compose-cli.yaml
export COMPOSE_FILE_COUCH=docker-compose-couch.yaml
export COMPOSE_FILE_ORG3=docker-compose-org3.yaml
export LANGUAGE=golang
export IMAGETAG="latest"
export VERBOSE=true

CHANNEL_NAME 是所要创建的频道的名字

证书

在生成环境中,将使用Fabric CA Server来统一管理证书,使用它来和业务做深度的整合。

证书(certificate)是Fabric中权限管理的基础。目前采用了基于ECDSA算法的非对称加密算法来生成公钥和私钥,证书格式则采用了X.509的标准规范。

Fabric中采用单独的Fabric CA项目来管理证书的生成。每一个实体、组织都可以拥有自己的身份证书,并且证书也遵循了组织结构,方便基于组织实现灵活的权限管理。

生成的证书列表

  • 自签名 CA 根证书
  • 节点 (Orderer、Peer) 证书
  • 管理员证书与证书对应的私钥
  • TLS 证书

使用cryptogen命令生成证书的时候需要配置一个配置参数文件crypto-config.yaml

探索一下这个配置文件

grep -v -e '^\s*#' -v -e '^\s*$' crypto-config.yaml

内容如下

OrdererOrgs:
  - Name: Orderer
    Domain: example.com
    Specs:
      - Hostname: orderer
PeerOrgs:
  - Name: Org1
    Domain: org1.example.com
    EnableNodeOUs: true
    Template:
      Count: 2
    Users:
      Count: 1
  - Name: Org2
    Domain: org2.example.com
    EnableNodeOUs: true
    Template:
      Count: 2
    Users:
      Count: 1

改写成我们自定义的crypto-config-bidpoc.yaml

OrdererOrgs:
  - Name: Orderer
    Domain: union.bidpoc.com
    CA:
      Country: CN
      Province: Shanghai
      Locality: Shanghai
    Specs:
      - Hostname: orderer
PeerOrgs:
  - Name: 9Chain
    Domain: 9chain.union.bidpoc.com
    EnableNodeOUs: true
    Template:
      Count: 2
    Users:
      Count: 2
  - Name: Bidpoc
    Domain: bidpoc.union.bidpoc.com
    EnableNodeOUs: true
    Template:
      Count: 2
    Users:
      Count: 2
  - Name: Artwook
    Domain: artwook.union.bidpoc.com
    EnableNodeOUs: true
    Template:
      Count: 2
    Users:
      Count: 2

生成证书

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

执行之后会在当前目录下创建一个crypto-config的目录,完整目录树看这里

探究一下内部的结构

crypto-config 分成2个子目录

crypto-config
├── ordererOrganizations
└── peerOrganizations

ordererOrganizations是Order服务组织的配置

peerOrganizations是节点

先看ordererOrganizations/union.bidpoc.com/ca

crypto-config/ordererOrganizations/union.bidpoc.com/ca/
├── ca.union.bidpoc.com-cert.pem
└── daee5bdd4a3fa068ba0fca479f27bdca8db93631aabfe10362a4ce87f21ef876_sk

ca.union.bidpoc.com-cert.pem是union.bidpoc.com这个组织order的根CA证书

进入ca根证书的目录

cd crypto-config/ordererOrganizations/union.bidpoc.com/ca/

使用openssl可以查看一下这张证书

openssl x509 -in ca.union.bidpoc.com-cert.pem -text -noout
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            14:51:0b:b1:38:d4:d7:04:57:56:52:91:05:50:6a:e9
    Signature Algorithm: ecdsa-with-SHA256
        Issuer: C=CN, ST=Shanghai, L=Shanghai, O=union.bidpoc.com, CN=ca.union.bidpoc.com
        Validity
            Not Before: Mar 11 10:13:00 2019 GMT
            Not After : Mar  8 10:13:00 2029 GMT
        Subject: C=CN, ST=Shanghai, L=Shanghai, O=union.bidpoc.com, CN=ca.union.bidpoc.com
        Subject Public Key Info:
            Public Key Algorithm: id-ecPublicKey
                Public-Key: (256 bit)
                pub:
                    04:cd:61:2b:f8:1b:2d:19:64:5b:94:25:b8:0c:c6:
                    74:28:cc:57:0b:e2:3d:7a:c2:fe:ac:24:76:f3:93:
                    0c:3a:85:a6:83:33:06:1a:d2:65:19:e0:dd:0b:6b:
                    ff:c5:b6:7f:d5:3c:3b:83:1f:31:96:8a:44:9d:87:
                    80:5b:6e:49:2f
                ASN1 OID: prime256v1
                NIST CURVE: P-256
        X509v3 extensions:
            X509v3 Key Usage: critical
                Digital Signature, Key Encipherment, Certificate Sign, CRL Sign
            X509v3 Extended Key Usage:
                TLS Web Client Authentication, TLS Web Server Authentication
            X509v3 Basic Constraints: critical
                CA:TRUE
            X509v3 Subject Key Identifier:
                93:00:72:F6:C7:62:3F:72:16:0B:DB:EC:E5:2E:92:CB:AC:20:C6:77:1C:32:1E:0E:DF:DC:DC:01:B3:E0:EB:78
    Signature Algorithm: ecdsa-with-SHA256
         30:45:02:21:00:c1:72:79:40:c7:b4:e7:de:00:82:de:3e:53:
         da:57:6e:fc:d6:fe:30:64:12:6c:60:f0:50:67:2a:0e:64:b8:
         93:02:20:53:f8:1b:fc:86:ec:91:37:6e:f7:d0:05:af:a0:57:
         4e:50:28:29:01:f0:8c:1c:75:6c:74:74:ac:7f:3b:7b:0b

有空再细研究

...TODO

参考

crypto-config-directory

crypto-config
├── ordererOrganizations
│   └── union.bidpoc.com
│       ├── ca
│       │   ├── ca.union.bidpoc.com-cert.pem
│       │   └── daee5bdd4a3fa068ba0fca479f27bdca8db93631aabfe10362a4ce87f21ef876_sk
│       ├── msp
│       │   ├── admincerts
│       │   │   └── [email protected]
│       │   ├── cacerts
│       │   │   └── ca.union.bidpoc.com-cert.pem
│       │   └── tlscacerts
│       │       └── tlsca.union.bidpoc.com-cert.pem
│       ├── orderers
│       │   └── orderer.union.bidpoc.com
│       │       ├── msp
│       │       │   ├── admincerts
│       │       │   │   └── [email protected]
│       │       │   ├── cacerts
│       │       │   │   └── ca.union.bidpoc.com-cert.pem
│       │       │   ├── keystore
│       │       │   │   └── 1a7178dc50bef02b3e8def47b4560bd99e6a1aac08d973379a97a74fa807e4d1_sk
│       │       │   ├── signcerts
│       │       │   │   └── orderer.union.bidpoc.com-cert.pem
│       │       │   └── tlscacerts
│       │       │       └── tlsca.union.bidpoc.com-cert.pem
│       │       └── tls
│       │           ├── ca.crt
│       │           ├── server.crt
│       │           └── server.key
│       ├── tlsca
│       │   ├── 1843c4f77280bf1d3664848a1ec83cab5eb694bb75c27e943b6201ac7e169f48_sk
│       │   └── tlsca.union.bidpoc.com-cert.pem
│       └── users
│           └── [email protected]
│               ├── msp
│               │   ├── admincerts
│               │   │   └── [email protected]
│               │   ├── cacerts
│               │   │   └── ca.union.bidpoc.com-cert.pem
│               │   ├── keystore
│               │   │   └── 57a239636f7fb3533a339647062ce4cc7000b6d12861097d72d43dfd381dde3e_sk
│               │   ├── signcerts
│               │   │   └── [email protected]
│               │   └── tlscacerts
│               │       └── tlsca.union.bidpoc.com-cert.pem
│               └── tls
│                   ├── ca.crt
│                   ├── client.crt
│                   └── client.key
└── peerOrganizations
    ├── 9chain.union.bidpoc.com
    │   ├── ca
    │   │   ├── 58810b70c53fd74636eb425b0a974c892d69dd45766e829f0c4e9df5626ee3ef_sk
    │   │   └── ca.9chain.union.bidpoc.com-cert.pem
    │   ├── msp
    │   │   ├── admincerts
    │   │   │   └── [email protected]
    │   │   ├── cacerts
    │   │   │   └── ca.9chain.union.bidpoc.com-cert.pem
    │   │   ├── config.yaml
    │   │   └── tlscacerts
    │   │       └── tlsca.9chain.union.bidpoc.com-cert.pem
    │   ├── peers
    │   │   ├── peer0.9chain.union.bidpoc.com
    │   │   │   ├── msp
    │   │   │   │   ├── admincerts
    │   │   │   │   │   └── [email protected]
    │   │   │   │   ├── cacerts
    │   │   │   │   │   └── ca.9chain.union.bidpoc.com-cert.pem
    │   │   │   │   ├── config.yaml
    │   │   │   │   ├── keystore
    │   │   │   │   │   └── 8d08701ee141afff997c74b9179b7407570c102cfee4528f37bb51d2b4f87c6d_sk
    │   │   │   │   ├── signcerts
    │   │   │   │   │   └── peer0.9chain.union.bidpoc.com-cert.pem
    │   │   │   │   └── tlscacerts
    │   │   │   │       └── tlsca.9chain.union.bidpoc.com-cert.pem
    │   │   │   └── tls
    │   │   │       ├── ca.crt
    │   │   │       ├── server.crt
    │   │   │       └── server.key
    │   │   └── peer1.9chain.union.bidpoc.com
    │   │       ├── msp
    │   │       │   ├── admincerts
    │   │       │   │   └── [email protected]
    │   │       │   ├── cacerts
    │   │       │   │   └── ca.9chain.union.bidpoc.com-cert.pem
    │   │       │   ├── config.yaml
    │   │       │   ├── keystore
    │   │       │   │   └── b8f1acc5da97d7c1348594f73a3f543baa29e69b407dd6f3860a21dc296c538a_sk
    │   │       │   ├── signcerts
    │   │       │   │   └── peer1.9chain.union.bidpoc.com-cert.pem
    │   │       │   └── tlscacerts
    │   │       │       └── tlsca.9chain.union.bidpoc.com-cert.pem
    │   │       └── tls
    │   │           ├── ca.crt
    │   │           ├── server.crt
    │   │           └── server.key
    │   ├── tlsca
    │   │   ├── f03dcb48ebea8ee9645d3616cf3e751e7b2e7dc901dfa8ba52fbc9268260f329_sk
    │   │   └── tlsca.9chain.union.bidpoc.com-cert.pem
    │   └── users
    │       ├── [email protected]
    │       │   ├── msp
    │       │   │   ├── admincerts
    │       │   │   │   └── [email protected]
    │       │   │   ├── cacerts
    │       │   │   │   └── ca.9chain.union.bidpoc.com-cert.pem
    │       │   │   ├── keystore
    │       │   │   │   └── b805863731f4b9cede46f74bb2eccf614b097e683236645a388d2997ca0e711c_sk
    │       │   │   ├── signcerts
    │       │   │   │   └── [email protected]
    │       │   │   └── tlscacerts
    │       │   │       └── tlsca.9chain.union.bidpoc.com-cert.pem
    │       │   └── tls
    │       │       ├── ca.crt
    │       │       ├── client.crt
    │       │       └── client.key
    │       ├── [email protected]
    │       │   ├── msp
    │       │   │   ├── admincerts
    │       │   │   │   └── [email protected]
    │       │   │   ├── cacerts
    │       │   │   │   └── ca.9chain.union.bidpoc.com-cert.pem
    │       │   │   ├── keystore
    │       │   │   │   └── 7eb8b39a096c81e57848e9a42c1b49a7cbe005e4d5c33ba1911af7b4eb0ceb70_sk
    │       │   │   ├── signcerts
    │       │   │   │   └── [email protected]
    │       │   │   └── tlscacerts
    │       │   │       └── tlsca.9chain.union.bidpoc.com-cert.pem
    │       │   └── tls
    │       │       ├── ca.crt
    │       │       ├── client.crt
    │       │       └── client.key
    │       └── [email protected]
    │           ├── msp
    │           │   ├── admincerts
    │           │   │   └── [email protected]
    │           │   ├── cacerts
    │           │   │   └── ca.9chain.union.bidpoc.com-cert.pem
    │           │   ├── keystore
    │           │   │   └── 0613feaf11b8c7d976f35292ce5130a1ebc443d28739a9ffcc7c87de53f65da1_sk
    │           │   ├── signcerts
    │           │   │   └── [email protected]
    │           │   └── tlscacerts
    │           │       └── tlsca.9chain.union.bidpoc.com-cert.pem
    │           └── tls
    │               ├── ca.crt
    │               ├── client.crt
    │               └── client.key
    ├── artwook.union.bidpoc.com
    │   ├── ca
    │   │   ├── 43c8c87224e39f079f85f0a3f44fc530d866d485bd88ab80953a75f484cc2171_sk
    │   │   └── ca.artwook.union.bidpoc.com-cert.pem
    │   ├── msp
    │   │   ├── admincerts
    │   │   │   └── [email protected]
    │   │   ├── cacerts
    │   │   │   └── ca.artwook.union.bidpoc.com-cert.pem
    │   │   ├── config.yaml
    │   │   └── tlscacerts
    │   │       └── tlsca.artwook.union.bidpoc.com-cert.pem
    │   ├── peers
    │   │   ├── peer0.artwook.union.bidpoc.com
    │   │   │   ├── msp
    │   │   │   │   ├── admincerts
    │   │   │   │   │   └── [email protected]
    │   │   │   │   ├── cacerts
    │   │   │   │   │   └── ca.artwook.union.bidpoc.com-cert.pem
    │   │   │   │   ├── config.yaml
    │   │   │   │   ├── keystore
    │   │   │   │   │   └── 190af020b2ba2963f91f182a71121fd3b621346a5981f8302337177455457079_sk
    │   │   │   │   ├── signcerts
    │   │   │   │   │   └── peer0.artwook.union.bidpoc.com-cert.pem
    │   │   │   │   └── tlscacerts
    │   │   │   │       └── tlsca.artwook.union.bidpoc.com-cert.pem
    │   │   │   └── tls
    │   │   │       ├── ca.crt
    │   │   │       ├── server.crt
    │   │   │       └── server.key
    │   │   └── peer1.artwook.union.bidpoc.com
    │   │       ├── msp
    │   │       │   ├── admincerts
    │   │       │   │   └── [email protected]
    │   │       │   ├── cacerts
    │   │       │   │   └── ca.artwook.union.bidpoc.com-cert.pem
    │   │       │   ├── config.yaml
    │   │       │   ├── keystore
    │   │       │   │   └── b34d0c5d53b90091a02b40824aac3e9f902e99a568fb95b9503b31dc1d7419b8_sk
    │   │       │   ├── signcerts
    │   │       │   │   └── peer1.artwook.union.bidpoc.com-cert.pem
    │   │       │   └── tlscacerts
    │   │       │       └── tlsca.artwook.union.bidpoc.com-cert.pem
    │   │       └── tls
    │   │           ├── ca.crt
    │   │           ├── server.crt
    │   │           └── server.key
    │   ├── tlsca
    │   │   ├── e205e3c3b7736b0cba515067fd69ed58ea08c20c124d008d5993412ff8cacf32_sk
    │   │   └── tlsca.artwook.union.bidpoc.com-cert.pem
    │   └── users
    │       ├── [email protected]
    │       │   ├── msp
    │       │   │   ├── admincerts
    │       │   │   │   └── [email protected]
    │       │   │   ├── cacerts
    │       │   │   │   └── ca.artwook.union.bidpoc.com-cert.pem
    │       │   │   ├── keystore
    │       │   │   │   └── 4307f6862803cf4012e0781c298fc02f23140cc221001d82c6f382b2c02bf922_sk
    │       │   │   ├── signcerts
    │       │   │   │   └── [email protected]
    │       │   │   └── tlscacerts
    │       │   │       └── tlsca.artwook.union.bidpoc.com-cert.pem
    │       │   └── tls
    │       │       ├── ca.crt
    │       │       ├── client.crt
    │       │       └── client.key
    │       ├── [email protected]
    │       │   ├── msp
    │       │   │   ├── admincerts
    │       │   │   │   └── [email protected]
    │       │   │   ├── cacerts
    │       │   │   │   └── ca.artwook.union.bidpoc.com-cert.pem
    │       │   │   ├── keystore
    │       │   │   │   └── ad73964b0b29a14ac2230354e79e00a864bed7c97a5a7fe0e99aebfb8ec4b10e_sk
    │       │   │   ├── signcerts
    │       │   │   │   └── [email protected]
    │       │   │   └── tlscacerts
    │       │   │       └── tlsca.artwook.union.bidpoc.com-cert.pem
    │       │   └── tls
    │       │       ├── ca.crt
    │       │       ├── client.crt
    │       │       └── client.key
    │       └── [email protected]
    │           ├── msp
    │           │   ├── admincerts
    │           │   │   └── [email protected]
    │           │   ├── cacerts
    │           │   │   └── ca.artwook.union.bidpoc.com-cert.pem
    │           │   ├── keystore
    │           │   │   └── caaaf5c4a2d9f2eeba43f369b91de139176ccd799eb1cb94faf215fd2c32e92c_sk
    │           │   ├── signcerts
    │           │   │   └── [email protected]
    │           │   └── tlscacerts
    │           │       └── tlsca.artwook.union.bidpoc.com-cert.pem
    │           └── tls
    │               ├── ca.crt
    │               ├── client.crt
    │               └── client.key
    └── bidpoc.union.bidpoc.com
        ├── ca
        │   ├── aefeea29f580bf0fcc85ba51705c7c6cf135c6cf8b32189ef289c55363ad3b00_sk
        │   └── ca.bidpoc.union.bidpoc.com-cert.pem
        ├── msp
        │   ├── admincerts
        │   │   └── [email protected]
        │   ├── cacerts
        │   │   └── ca.bidpoc.union.bidpoc.com-cert.pem
        │   ├── config.yaml
        │   └── tlscacerts
        │       └── tlsca.bidpoc.union.bidpoc.com-cert.pem
        ├── peers
        │   ├── peer0.bidpoc.union.bidpoc.com
        │   │   ├── msp
        │   │   │   ├── admincerts
        │   │   │   │   └── [email protected]
        │   │   │   ├── cacerts
        │   │   │   │   └── ca.bidpoc.union.bidpoc.com-cert.pem
        │   │   │   ├── config.yaml
        │   │   │   ├── keystore
        │   │   │   │   └── a213ba1e644bb91276e2b6b5ffa2079e038e24ddd8366451fda2606cb4349c36_sk
        │   │   │   ├── signcerts
        │   │   │   │   └── peer0.bidpoc.union.bidpoc.com-cert.pem
        │   │   │   └── tlscacerts
        │   │   │       └── tlsca.bidpoc.union.bidpoc.com-cert.pem
        │   │   └── tls
        │   │       ├── ca.crt
        │   │       ├── server.crt
        │   │       └── server.key
        │   └── peer1.bidpoc.union.bidpoc.com
        │       ├── msp
        │       │   ├── admincerts
        │       │   │   └── [email protected]
        │       │   ├── cacerts
        │       │   │   └── ca.bidpoc.union.bidpoc.com-cert.pem
        │       │   ├── config.yaml
        │       │   ├── keystore
        │       │   │   └── d780b85373e477fdf2f9cd8ec75de1f13e664208f6d1cbb0e3d51b5efd1fcc34_sk
        │       │   ├── signcerts
        │       │   │   └── peer1.bidpoc.union.bidpoc.com-cert.pem
        │       │   └── tlscacerts
        │       │       └── tlsca.bidpoc.union.bidpoc.com-cert.pem
        │       └── tls
        │           ├── ca.crt
        │           ├── server.crt
        │           └── server.key
        ├── tlsca
        │   ├── 94474aa340fb5091743b7e4300db7c82142abb8ee3ea85ff15a2ac1f8f343bac_sk
        │   └── tlsca.bidpoc.union.bidpoc.com-cert.pem
        └── users
            ├── [email protected]
            │   ├── msp
            │   │   ├── admincerts
            │   │   │   └── [email protected]
            │   │   ├── cacerts
            │   │   │   └── ca.bidpoc.union.bidpoc.com-cert.pem
            │   │   ├── keystore
            │   │   │   └── e8fe8a2fb46d50b3b93760d156007b1e16dfb1ba3d814bfdfe6481c078419ca4_sk
            │   │   ├── signcerts
            │   │   │   └── [email protected]
            │   │   └── tlscacerts
            │   │       └── tlsca.bidpoc.union.bidpoc.com-cert.pem
            │   └── tls
            │       ├── ca.crt
            │       ├── client.crt
            │       └── client.key
            ├── [email protected]
            │   ├── msp
            │   │   ├── admincerts
            │   │   │   └── [email protected]
            │   │   ├── cacerts
            │   │   │   └── ca.bidpoc.union.bidpoc.com-cert.pem
            │   │   ├── keystore
            │   │   │   └── df9d7138c0ed63d50dd7c05a1d278b543387aa6e82d3e88941908a2de5c3e6b9_sk
            │   │   ├── signcerts
            │   │   │   └── [email protected]
            │   │   └── tlscacerts
            │   │       └── tlsca.bidpoc.union.bidpoc.com-cert.pem
            │   └── tls
            │       ├── ca.crt
            │       ├── client.crt
            │       └── client.key
            └── [email protected]
                ├── msp
                │   ├── admincerts
                │   │   └── [email protected]
                │   ├── cacerts
                │   │   └── ca.bidpoc.union.bidpoc.com-cert.pem
                │   ├── keystore
                │   │   └── de96320e77d299a39b5144e5119b8890e96fa872daf06f43ae993f4428934dab_sk
                │   ├── signcerts
                │   │   └── [email protected]
                │   └── tlscacerts
                │       └── tlsca.bidpoc.union.bidpoc.com-cert.pem
                └── tls
                    ├── ca.crt
                    ├── client.crt
                    └── client.key

174 directories, 173 files
Copyright © x2x4.me 2019 all right reserved,powered by Gitbook该文件修订时间: 2019-03-12 10:09:21

results matching ""

    No results matching ""