亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

超級賬本Fabric如何使用第三方CA

發布時間:2021-12-22 14:51:53 來源:億速云 閱讀:280 作者:柒染 欄目:互聯網科技

本篇文章給大家分享的是有關超級賬本Fabric如何使用第三方CA,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

Hyperledger Fabric(HF)為終端用戶使用自有CA提供了fabric-ca工具。然而在生產環境中應當盡可能保證根CA的安全性,例如讓根CA離線,而將Hyperledger Fabric環境中的證書簽發代理給中間 CA。我們將介紹如何使用第三方CA作為根CA,使用fabric-ca作為中間CA,以及如何在CA信任鏈中整合第三方CA與fabric-ca。

1、準備工作

為了演示外部CA和中間CA的使用,我們將部署一個根CA,它只負責簽發中間CA的證書。這個中間CA采用Fabric CA,負責簽發用戶和節點證書。出于簡化考慮,在這個教程中,我們將使OpenSSL。

超級賬本Fabric如何使用第三方CA

在開始之前,請參考相應文檔先完成以下前置環節的部署和知識準備:

  • 安裝docker、docker-compose、git和curl

  • Hyperledger Fabric和bash/sheel腳本基礎知識

  • PKI基礎知識

克隆本教程演示代碼倉庫,其中包含了所有用到的腳本:

git clone https://github.com/aldredb/external-ca
cd external-ca

下載Hyperledger Fabric預編譯程序并刪除不需要的文件。我們只用到cryptogen, fabric-ca-client和configtx。

curl -sSL http://bit.ly/2ysbOFE | bash -s -- 1.4.1 -d -s
rm -f config/configtx.yaml config/core.yaml config/orderer.yaml

使用cryptogen為排序節點機構生成證書和密鑰:

export PATH=$PWD/bin:$PATH
export FABRIC_CFG_PATH=${PWD}
cryptogen generate --config=./crypto-config.yaml

創建用于保存對等節點機構org1.example.com的證書和密鑰的目錄結構。如下所示,該機構包含一個節點peer0.org1.example.com和兩個用戶:adminAdmin@org1.example.com。中間CA的證書和密鑰將保存在ca文件夾里。

ORG_DIR=$PWD/crypto-config/peerOrganizations/org1.example.com
PEER_DIR=$ORG_DIR/peers/peer0.org1.example.com
REGISTRAR_DIR=$ORG_DIR/users/admin
ADMIN_DIR=$ORG_DIR/users/Admin@org1.example.com
mkdir -p $ORG_DIR/ca $ORG_DIR/msp $PEER_DIR $REGISTRAR_DIR $ADMIN_DIR

2、創建中間CA

生成私鑰和證書簽名請求/CSR。注意機構的值與根CA相同。

openssl ecparam -name prime256v1 -genkey -noout -out \
  $ORG_DIR/ca/ica.org1.example.com.key.pem
openssl req -new -sha256 -key $ORG_DIR/ca/ica.org1.example.com.key.pem \
  -out $ORG_DIR/ca/ica.org1.example.com.csr \
  -subj "/C=SG/ST=Singapore/L=Singapore/O=org1.example.com/OU=/CN=ica.org1.example.com"

根CA負責簽名中間CA的CSR并簽發證書,中間CA證書的有效期是根CA證書的一半。注意我們使用v3_intermediate_ca擴展。

openssl ca -batch -config openssl_root.cnf -extensions v3_intermediate_ca \
  -days 1825 -notext -md sha256 -in $ORG_DIR/ca/ica.org1.example.com.csr \
  -out $ORG_DIR/ca/ica.org1.example.com.crt.pem

現在讓我們看一下得到的證書:

openssl x509 -in $ORG_DIR/ca/ica.org1.example.com.crt.pem -text -noout

如下所示,可以看到證書的簽發機構是: rca.org1.example.com:

Issuer: C=SG, ST=Singapore, L=Singapore, O=org1.example.com, CN=rca.org1.example.com
Validity
    Not Before: May  3 10:16:44 2019 GMT
    Not After : Apr 30 10:16:44 2029 GMT
Subject: C=SG, ST=Singapore, O=org1.example.com, CN=ica.org1.example.com

一旦我們簽發了中間CA的證書,就不再需要根CA了,除非需要創建另一個中間CA或者回收中間CA的證書。

現在創建CA鏈文件,其中包含了中間CA和genCA的證書:

cat $ORG_DIR/ca/ica.org1.example.com.crt.pem \
  $PWD/rca/certs/rca.org1.example.com.crt.pem > \
  $ORG_DIR/ca/chain.org1.example.com.crt.pem

最后啟動中間CA,中間CA的配置文件指向我們前面創建的證書、密鑰和CA鏈。 你可以參考ca-config/fabric-ca-server-config.yaml文件:

docker-compose up -d ica.org1.example.com

3、簽發peer節點證書和用戶證書

中間CA就緒后,我們現在可以簽發用戶證書和peer節點證書了。

首先加入(enroll)admin用戶,該用戶有權限注冊(register)其他用戶:

export FABRIC_CA_CLIENT_HOME=$REGISTRAR_DIR
fabric-ca-client enroll --csr.names C=SG,ST=Singapore,L=Singapore,O=org1.example.com \
  -m admin -u http://admin:adminpw@localhost:7054

現在用admin注冊機構org1.example.com的管理員Admin@org1.example.com,以及peer節點peer0.org1.example.com

fabric-ca-client register --id.name Admin@org1.example.com \
  --id.secret mysecret --id.type client --id.affiliation org1 \
  -u http://localhost:7054fabric-ca-client register \
  --id.name peer0.org1.example.com --id.secret mysecret \
  --id.type peer --id.affiliation org1 -u http://localhost:7054

加入Admin@org1.example.com

export FABRIC_CA_CLIENT_HOME=$ADMIN_DIR
fabric-ca-client enroll \
  --csr.names C=SG,ST=Singapore,L=Singapore,O=org1.example.com \
  -m Admin@org1.example.com \
  -u http://Admin@org1.example.com:mysecret@localhost:7054
mkdir -p $ADMIN_DIR/msp/admincerts && \
  cp $ADMIN_DIR/msp/signcerts/*.pem $ADMIN_DIR/msp/admincerts/

加入peer0.org1.example.com

export FABRIC_CA_CLIENT_HOME=$PEER_DIRfabric-ca-client enroll \
  --csr.names C=SG,ST=Singapore,L=Singapore,O=org1.example.com \
  -m peer0.org1.example.com \
  -u http://peer0.org1.example.com:mysecret@localhost:7054
mkdir -p $PEER_DIR/msp/admincerts && \
  cp $ADMIN_DIR/msp/signcerts/*.pem $PEER_DIR/msp/admincerts/

現在讓我們看一下其中某個證書,例如peer0.org1.example.com的證書:

openssl x509 -in $PEER_DIR/msp/signcerts/cert.pem -text -noout

證書的簽發者應當是ica.org1.example.com:

Issuer: C=SG, ST=Singapore, O=org1.example.com, CN=ica.org1.example.com
Validity
    Not Before: May  3 10:27:59 2019 GMT
    Not After : May  2 10:28:00 2020 GMT
Subject: C=SG, ST=Singapore, L=Singapore, O=org1.example.com, OU=peer, OU=org1, CN=peer0.org1.example.com

恭喜!我們已經完成了第三方CA和Fabric CA的整合!

以上就是超級賬本Fabric如何使用第三方CA,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彩票| 特克斯县| 泊头市| 远安县| 麻阳| 区。| 万宁市| 瓦房店市| 定结县| 扎囊县| 句容市| 独山县| 阿鲁科尔沁旗| 北流市| 宜兰县| 红桥区| 蒙阴县| 广东省| 宁乡县| 贵州省| 汽车| 泾源县| 兴义市| 武功县| 微博| 兴业县| 拜泉县| 阜城县| 金秀| 无为县| 湖州市| 通道| 平潭县| 洛隆县| 平利县| 宁阳县| 北京市| 大田县| 布拖县| 综艺| 射阳县|