Hyperledger Fabric的CA操作指南-part2

買賣虛擬貨幣
正如您在readthedoc中所看到的那樣,整個過程涉及許多命令。在本指南中,我們將分解它們,然後將它們分組為一系列Shell指令碼。為了使流程合理,需要進行一些重新排列。我們將進行一些觀察和重點介紹。把它放在fabric-samples/下只是我的慣例。它可以在任何地方。只需確保您具有包含fabric-samples/bin/目錄的PATHcd fabric-samplesmkdir guide複製兩個配置檔案:docker-compose.yaml和configtx.yaml。在本教程中,只需將指令碼檔案放在guide/中並執行它。萬一我們想重置所有內容並從步驟1開始,我們可以透過以下方式重置網路
cd guidedocker-compose downrm -rf /tmp/hyperledger然後您可以再次從步驟1開始。步驟1:啟動TLS-CA指令碼:1_ca-tls.sh
docker-compose up -d ca-tlssleep 5export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/tls-ca/crypto/tls-cert.pemexport FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/tls-ca/adminfabric-ca-client enroll -d -u https://tls-ca-admin:admin@chaindaily:7052sleep 5
fabric-ca-client register -d --id.name peer1-org1 --id.secret peer1PW --id.type peer -u https://0.0.0.0:7052fabric-ca-client register -d --id.name peer2-org1 --id.secret peer2PW --id.type peer -u https://0.0.0.0:7052fabric-ca-client register -d --id.name peer1-org2 --id.secret peer1PW --id.type peer -u https://0.0.0.0:7052fabric-ca-client register -d --id.name peer2-org2 --id.secret peer2PW --id.type peer -u https://0.0.0.0:7052fabric-ca-client register -d --id.name orderer1-org0 --id.secret ordererPW --id.type orderer -u https://0.0.0.0:7052echo
fabric-ca-client identity list我們將遍歷整個指令碼:首先,我們啟動TLS-CA容器。TLS-CA容器啟動並執行後,發生了幾件事· TLS-CA主目錄對映到本地主機的/tmp/hyperledger/tls-ca/crypto/。如果我們要引用TLS-CA主目錄中的任何內容,則可以引用此目錄。· 我們在本地主機中使用Fabric-CA-Client(客戶端)。為客戶端設定了兩個引數。· 我們提取TLS-CA根證書(tls-cert.pem)並將其儲存在。
· FABRIC_CA_CLIENT_TLS_CERTFILES中。這個名字有點不清楚。它是從TLS-CA驗證TLS伺服器證書的CA證書(請參閱上文了解關於TLS的Fabric-CA-Server會話)。· 主目錄設定為/ tmp-hyperledger/tls-ca/admin。加密資料將儲存在此目錄中。· 在TLS-CA上的docker-compose檔案(docker-compose.yaml中的第10行)中配置了載入程式ID名稱(tls-ca-admin)和金鑰(tls-ca-adminpw)。這是在TLS-CA資料庫中註冊的實體。· 現在我們使用Fabric-CA-Client使用此引導ID名稱和密碼在TLS-CA(https://0.0.0.0:7052)上註冊商。 結果儲存在主目錄/tmp-hyperledger/tls-ca/admin中。這是註冊商的身份。· 以此身份,我們使用Fabric-CA-Client在網路中註冊五個網路元件。每個暫存器都有一個ID名稱,金鑰(本教程提供,但可以由CA生成)和型別。· 結果是TLS-CA資料庫現在保留了這五個實體資訊。這些實體註冊TLS-CA時,將在以後的步驟中使用它們。

指令碼的最後一行僅用於顯示在TLS-CA資料庫中註冊的實體,包括引導tls-ca-admin,以及在此指令碼中註冊的這五個元件。

下面是指令碼執行後的結果。

我們還可以檢視本地主機中的目錄

tls-ca/crypto/:TLS-CA的Fabric-CA-Server Home的目錄,對映到localhost。
tls-ca/admin/:Fabric-CA-Client在本地儲存TLS-CA的註冊器的位置

第2步:調出RCA-ORG0

指令碼:2_rca-org0.sh

docker-compose up -d rca-org0
sleep 5

export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org0/ca/crypto/ca-cert.pem
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org0/ca/admin

fabric-ca-client enroll -d -u https://rca-org0-admin:admin@chaindaily:7053
sleep 5

fabric-ca-client register -d --id.name orderer1-org0 --id.secret ordererpw --id.type orderer -u https://0.0.0.0:7053
fabric-ca-client register -d --id.name admin-org0 --id.secret org0adminpw --id.type user -u https://0.0.0.0:7053

echo
fabric-ca-client identity list

第3步和第4步:調出RCA-ORG1和RCA-ORG2

指令碼3_rca_org1.sh

docker-compose up -d rca-org1
sleep 5

export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org1/ca/crypto/ca-cert.pem
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org1/ca/admin

fabric-ca-client enroll -d -u https://rca-org1-admin:admin@chaindaily:7054
sleep 5

fabric-ca-client register -d --id.name peer1-org1 --id.secret peer1PW --id.type peer -u https://0.0.0.0:7054
fabric-ca-client register -d --id.name peer2-org1 --id.secret peer2PW --id.type peer -u https://0.0.0.0:7054
fabric-ca-client register -d --id.name admin-org1 --id.secret org1AdminPW --id.type user -u https://0.0.0.0:7054
fabric-ca-client register -d --id.name user-org1 --id.secret org1UserPW --id.type user -u https://0.0.0.0:7054

echo
fabric-ca-client identity list

指令碼4_rca_org2.sh

docker-compose up -d rca-org2
sleep 5

export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org2/ca/crypto/ca-cert.pem
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org2/ca/admin

fabric-ca-client enroll -d -u https://rca-org2-admin:admin@chaindaily:7055
sleep 5

fabric-ca-client register -d --id.name peer1-org2 --id.secret peer1PW --id.type peer -u https://0.0.0.0:7055
fabric-ca-client register -d --id.name peer2-org2 --id.secret peer2PW --id.type peer -u https://0.0.0.0:7055
fabric-ca-client register -d --id.name admin-org2 --id.secret org2AdminPW --id.type user --id.attrs "abac.init=true:ecert" -u https://0.0.0.0:7055
fabric-ca-client register -d --id.name user-org2 --id.secret org2UserPW --id.type user -u https://0.0.0.0:7055

echo
fabric-ca-client identity list

結果目錄分別是org1/ca/和org2/ca/。

有一點不同。當我們在RCA-ORG2中註冊admin-org2時,我們放置了一個屬性abac.init = true。當此admin-org2註冊到RCA-ORG2中時,它將被放置在證書中。我們將在註冊後進行檢查。同時,admin-org1沒有此屬性。

此屬性的使用是連結到鏈碼的演示。網路執行後,我們將部署chaincode/abac/go。部署要求部署者具有此屬性abac.init = true。在第11步中,我們將同時從admin-org1和admin-org2部署鏈碼,並且由於缺少此屬性,我們可以看到只有admin-org2可以部署,而admin-org1無法部署。

這是在四個指令碼之後在每個CA資料庫中註冊的實體。請注意,註冊尚未完成。在接下來的步驟中,我們將這些實體逐個註冊到組織中。

步驟5:為org0註冊實體

指令碼5_enrollOrg0.sh

echo "Enroll Orderer"

# preparation
mkdir -p /tmp/hyperledger/org0/orderer/assets/ca 
cp /tmp/hyperledger/org0/ca/admin/msp/cacerts/0-0-0-0-7053.pem /tmp/hyperledger/org0/orderer/assets/ca/org0-ca-cert.pem

mkdir -p /tmp/hyperledger/org0/orderer/assets/tls-ca 
cp /tmp/hyperledger/tls-ca/admin/msp/cacerts/0-0-0-0-7052.pem /tmp/hyperledger/org0/orderer/assets/tls-ca/tls-ca-cert.pem

# for identity
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org0/orderer
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org0/orderer/assets/ca/org0-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp

fabric-ca-client enroll -d -u https://orderer1-org0:admin@chaindaily:7053
sleep 5

# for TLS
export FABRIC_CA_CLIENT_MSPDIR=tls-msp
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org0/orderer/assets/tls-ca/tls-ca-cert.pem

fabric-ca-client enroll -d -u https://orderer1-org0:admin@chaindaily:7052 --enrollment.profile tls --csr.hosts orderer1-org0
sleep 5

cp /tmp/hyperledger/org0/orderer/tls-msp/keystore/*_sk /tmp/hyperledger/org0/orderer/tls-msp/keystore/key.pem

echo "Enroll Admin"

export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org0/admin
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org0/orderer/assets/ca/org0-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp

fabric-ca-client enroll -d -u https://admin-org0:admin@chaindaily:7053

mkdir -p /tmp/hyperledger/org0/orderer/msp/admincerts
cp /tmp/hyperledger/org0/admin/msp/signcerts/cert.pem /tmp/hyperledger/org0/orderer/msp/admincerts/orderer-admin-cert.pem

mkdir -p /tmp/hyperledger/org0/msp/{admincerts,cacerts,tlscacerts,users}
cp /tmp/hyperledger/org0/orderer/assets/ca/org0-ca-cert.pem /tmp/hyperledger/org0/msp/cacerts/
cp /tmp/hyperledger/org0/orderer/assets/tls-ca/tls-ca-cert.pem /tmp/hyperledger/org0/msp/tlscacerts/
cp /tmp/hyperledger/org0/admin/msp/signcerts/cert.pem /tmp/hyperledger/org0/msp/admincerts/admin-org0-cert.pem

echo "Org0 done"

該指令碼的目的是為org0註冊實體。有兩個實體要註冊:orderer1-org0和admin-org0。

我們將遍歷此指令碼。

org0的所有材料都將在/tmp/hyperledger/org0/下構建。

網路元件orderer1-org0將儲存在orderer/中,使用者admin-org0儲存在admin/中。

首先,我們準備兩個目錄:orderer/assets/ca/和orderer/assets/tls-ca/,它們分別持有RCA-ORG0和TLS-CA的CA證書。我們從這些CA的對映卷中複製證書。

首先我們準備兩個目錄:orderer/assets/ca/和orderer/assets/tls-ca/,它們分別持有RCA-ORG0和TLS-CA的CA證書。我們從這些CA的對映卷中複製證書。

使用TLS訪問RCA-ORG0和TLS-CA時,需要這兩個CA證書。並在註冊期間在FABRIC_CA_CLIENT_TLS_CERTFILES中指定。

我們開始註冊orderer1-org0(身份和TLS),以及admin-org0(僅用於身份)。

對於orderer1-org0,

· 我們將org0/orderer/指定為Fabric-CA-Client主目錄,這意味著結果將儲存在此目錄中。
· 為orderer1-org0的身份,我們指定msp/來儲存結果,並將其註冊到RCA-ORG0中。
· 對於orderer1-org0的TLS,我們指定tls-msp/來儲存結果,並將其註冊到TLS-CA中。

對於admin-org0,

· 我們將org0/admin/指定為Fabric-CA-Client主目錄,這意味著結果將儲存在此目錄中。
· 標識為admin-org0,我們指定msp/來儲存結果,並將其註冊到RCA-ORG0中。

最後,我們將建立一個目錄org0/msp/,其中包括以下目錄和內容。它在構建結構網路配置時使用。

· admincerts/
· cacerts/
· tlscacerts/
· users/

我們複製這些證書,並在必要時重新命名。

指令碼完全執行後,我們將在/tmp/hyperledger/org0/中看到一些目錄。

我們將首先檢查org0/orderer/。我們看到兩個目錄:msp/和tls-msp/,在其中是orderer1-org0的加密材料。

在msp/中是身份。私鑰儲存在keystore/中,證書儲存在signcert/中。

我們首先進行匹配,並確保私鑰與證書中的公鑰匹配。

然後,我們來看看證書,尤其是我們對主題和頒發者感興趣。

我們看到這個身份證書的頒發者是RCA-ORG0,證書的主體(所有者)是order1-ORG0,OU=order,這是我們在註冊期間在“type”中指定的(參見步驟2)。

在tls-msp/中可以看到類似的目錄結構。無需重複上述所有步驟,我們將在tls-msp/signcert/中檢視TLS伺服器證書

我們看到這個TLS伺服器證書的頒發者是TLS-CA。

Order1-org0的註冊

頒發給orderer1.org0的證書。

現在我們有了org0的所有東西。

最後,我們準備了org0/msp/,當我們形成結構網路時非常有用。

步驟6:為org1註冊實體

指令碼6_enrollOrg1.sh

echo "Enroll Peer1"

# preparation
mkdir -p /tmp/hyperledger/org1/peer1/assets/ca 
cp /tmp/hyperledger/org1/ca/admin/msp/cacerts/0-0-0-0-7054.pem /tmp/hyperledger/org1/peer1/assets/ca/org1-ca-cert.pem

mkdir -p /tmp/hyperledger/org1/peer1/assets/tls-ca 
cp /tmp/hyperledger/tls-ca/admin/msp/cacerts/0-0-0-0-7052.pem /tmp/hyperledger/org1/peer1/assets/tls-ca/tls-ca-cert.pem

# for identity
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org1/peer1
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org1/peer1/assets/ca/org1-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp

fabric-ca-client enroll -d -u https://peer1-org1:admin@chaindaily:7054
sleep 5

# for TLS
export FABRIC_CA_CLIENT_MSPDIR=tls-msp
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org1/peer1/assets/tls-ca/tls-ca-cert.pem

fabric-ca-client enroll -d -u https://peer1-org1:admin@chaindaily:7052 --enrollment.profile tls --csr.hosts peer1-org1
sleep 5

cp /tmp/hyperledger/org1/peer1/tls-msp/keystore/*_sk /tmp/hyperledger/org1/peer1/tls-msp/keystore/key.pem

echo "Enroll Peer2"

# preparation
mkdir -p /tmp/hyperledger/org1/peer2/assets/ca 
cp /tmp/hyperledger/org1/ca/admin/msp/cacerts/0-0-0-0-7054.pem /tmp/hyperledger/org1/peer2/assets/ca/org1-ca-cert.pem

mkdir -p /tmp/hyperledger/org1/peer2/assets/tls-ca 
cp /tmp/hyperledger/tls-ca/admin/msp/cacerts/0-0-0-0-7052.pem /tmp/hyperledger/org1/peer2/assets/tls-ca/tls-ca-cert.pem

# for identity
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org1/peer2
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org1/peer2/assets/ca/org1-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp

fabric-ca-client enroll -d -u https://peer2-org1:admin@chaindaily:7054
sleep 5

# for TLS
export FABRIC_CA_CLIENT_MSPDIR=tls-msp
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org1/peer2/assets/tls-ca/tls-ca-cert.pem

fabric-ca-client enroll -d -u https://peer2-org1:admin@chaindaily:7052 --enrollment.profile tls --csr.hosts peer2-org1
sleep 5

cp /tmp/hyperledger/org1/peer2/tls-msp/keystore/*_sk /tmp/hyperledger/org1/peer2/tls-msp/keystore/key.pem

echo "Enroll Admin"

export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org1/admin
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org1/peer1/assets/ca/org1-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp

fabric-ca-client enroll -d -u https://admin-org1:admin@chaindaily:7054

mkdir -p /tmp/hyperledger/org1/peer1/msp/admincerts
cp /tmp/hyperledger/org1/admin/msp/signcerts/cert.pem /tmp/hyperledger/org1/peer1/msp/admincerts/org1-admin-cert.pem

mkdir -p /tmp/hyperledger/org1/peer2/msp/admincerts
cp /tmp/hyperledger/org1/admin/msp/signcerts/cert.pem /tmp/hyperledger/org1/peer2/msp/admincerts/org1-admin-cert.pem

mkdir -p /tmp/hyperledger/org1/admin/msp/admincerts
cp /tmp/hyperledger/org1/admin/msp/signcerts/cert.pem /tmp/hyperledger/org1/admin/msp/admincerts/org1-admin-cert.pem

mkdir -p /tmp/hyperledger/org1/msp/{admincerts,cacerts,tlscacerts,users}
cp /tmp/hyperledger/org1/peer1/assets/ca/org1-ca-cert.pem /tmp/hyperledger/org1/msp/cacerts/
cp /tmp/hyperledger/org1/peer1/assets/tls-ca/tls-ca-cert.pem /tmp/hyperledger/org1/msp/tlscacerts/
cp /tmp/hyperledger/org1/admin/msp/signcerts/cert.pem /tmp/hyperledger/org1/msp/admincerts/admin-org1-cert.pem

echo "Org1 done"

總體流程在很大程度上類似於org0(步驟5)。唯一的區別是,在org1中,我們有兩個對等端,peer1-org1和peer2-org1。對每個對等方重複相同的過程。我們僅為org1註冊一位管理員。

這是指令碼完全執行後的org1目錄結構。

現在,對於同級,我們有peer1/和peer2/,對於org1的管理員,有admin/。

同樣,這裡不再重複在org0中引入的內容(第5步),這裡我們只檢查每個元件和使用者的證書。

peer1-org1,peer2-org1和admin-org1的身份證書。我們看到所有證書都是由RCA-ORG1頒發的。

peer1-org1和peer2-org1的TLS伺服器證書。我們看到所有證書都是由TLS-CA頒發的。

此外,根據msp要求,對於peer1/msp/、peer2/msp/和admin/msp/我們需要一個admincerts/目錄來儲存該組織的管理證書(請參閱本指令碼中的第62-69行)。

步驟7:為org2註冊實體

指令碼7_enrollOrg2.sh

echo "Enroll Peer1"

# preparation
mkdir -p /tmp/hyperledger/org2/peer1/assets/ca 
cp /tmp/hyperledger/org2/ca/admin/msp/cacerts/0-0-0-0-7055.pem /tmp/hyperledger/org2/peer1/assets/ca/org2-ca-cert.pem

mkdir -p /tmp/hyperledger/org2/peer1/assets/tls-ca 
cp /tmp/hyperledger/tls-ca/admin/msp/cacerts/0-0-0-0-7052.pem /tmp/hyperledger/org2/peer1/assets/tls-ca/tls-ca-cert.pem

# for identity
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org2/peer1
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org2/peer1/assets/ca/org2-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp

fabric-ca-client enroll -d -u https://peer1-org2:admin@chaindaily:7055
sleep 5

# for TLS
export FABRIC_CA_CLIENT_MSPDIR=tls-msp
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org2/peer1/assets/tls-ca/tls-ca-cert.pem

fabric-ca-client enroll -d -u https://peer1-org2:admin@chaindaily:7052 --enrollment.profile tls --csr.hosts peer1-org2
sleep 5

cp /tmp/hyperledger/org2/peer1/tls-msp/keystore/*_sk /tmp/hyperledger/org2/peer1/tls-msp/keystore/key.pem

echo "Enroll Peer2"

# preparation
mkdir -p /tmp/hyperledger/org2/peer2/assets/ca 
cp /tmp/hyperledger/org2/ca/admin/msp/cacerts/0-0-0-0-7055.pem /tmp/hyperledger/org2/peer2/assets/ca/org2-ca-cert.pem

mkdir -p /tmp/hyperledger/org2/peer2/assets/tls-ca 
cp /tmp/hyperledger/tls-ca/admin/msp/cacerts/0-0-0-0-7052.pem /tmp/hyperledger/org2/peer2/assets/tls-ca/tls-ca-cert.pem

# for identity
export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org2/peer2
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org2/peer2/assets/ca/org2-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp

fabric-ca-client enroll -d -u https://peer2-org2:admin@chaindaily:7055
sleep 5

# for TLS
export FABRIC_CA_CLIENT_MSPDIR=tls-msp
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org2/peer2/assets/tls-ca/tls-ca-cert.pem

fabric-ca-client enroll -d -u https://peer2-org2:admin@chaindaily:7052 --enrollment.profile tls --csr.hosts peer2-org2
sleep 5

cp /tmp/hyperledger/org2/peer2/tls-msp/keystore/*_sk /tmp/hyperledger/org2/peer2/tls-msp/keystore/key.pem

echo "Enroll Admin"

export FABRIC_CA_CLIENT_HOME=/tmp/hyperledger/org2/admin
export FABRIC_CA_CLIENT_TLS_CERTFILES=/tmp/hyperledger/org2/peer1/assets/ca/org2-ca-cert.pem
export FABRIC_CA_CLIENT_MSPDIR=msp

fabric-ca-client enroll -d -u https://admin-org2:admin@chaindaily:7055

mkdir -p /tmp/hyperledger/org2/peer1/msp/admincerts
cp /tmp/hyperledger/org2/admin/msp/signcerts/cert.pem /tmp/hyperledger/org2/peer1/msp/admincerts/org2-admin-cert.pem

mkdir -p /tmp/hyperledger/org2/peer2/msp/admincerts
cp /tmp/hyperledger/org2/admin/msp/signcerts/cert.pem /tmp/hyperledger/org2/peer2/msp/admincerts/org2-admin-cert.pem

mkdir -p /tmp/hyperledger/org2/admin/msp/admincerts
cp /tmp/hyperledger/org2/admin/msp/signcerts/cert.pem /tmp/hyperledger/org2/admin/msp/admincerts/org2-admin-cert.pem

mkdir -p /tmp/hyperledger/org2/msp/{admincerts,cacerts,tlscacerts,users}
cp /tmp/hyperledger/org2/peer1/assets/ca/org2-ca-cert.pem /tmp/hyperledger/org2/msp/cacerts/
cp /tmp/hyperledger/org2/peer1/assets/tls-ca/tls-ca-cert.pem /tmp/hyperledger/org2/msp/tlscacerts/
cp /tmp/hyperledger/org2/admin/msp/signcerts/cert.pem /tmp/hyperledger/org2/msp/admincerts/admin-org2-cert.pem

echo "Org2 done"

我們可以看到此指令碼與org1的指令碼基本相同,除了現在所有內容都已應用到org2上。

我們只是對兩個對等方peer1-org2和peer2-org2以及使用者admin-org2的證書重複上一次檢查。

peer1-org2,peer2-org2和admin-org2的身份證書。我們看到所有證書都是由RCA-ORG2頒發的。

peer1-org2和peer2-org2的TLS伺服器證書。我們看到所有證書都是由TLS-CA頒發的。

特別是,我們具有屬性abac.init:true的admin-org2(請參閱第4步)。在這裡,我們可以看到證書中的屬性。

現在我們已經為我們的網路生成了所有的身份證書和TLS伺服器證書。

我們現在可以轉到fabric network部分,除非需要新增更多的網路元件(orderers 或peers)或使用者,否則我們將不會與這些CA進行互動。

這是生成所有必需的加密材料後網路的樣子。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;