Fabric CA的部署與使用

2022-05-11 17:08:05 字數 3794 閱讀 4056

fabric cahyperledger fbric的證書認證中心,提供以下功能:使用者資訊的登記與註冊,數字證書的頒發與管理

fabric ca由服務端和客戶端元件組成,ca服務端(fabric-ca-server)可以看作乙個web服務,執行了go**編譯生成的二進位制檔案後,會監聽乙個埠,處理收到的請求;

ca客戶端(fabric-ca-client)其實就是乙個向ca服務端傳送請求的程式,執行編譯成的二進位制檔案並帶上不同引數,可以向ca伺服器傳送相應的http請求,完成一系列操作。

安裝libtoollibtdhl-dev

-clientgo get命令會自動獲取原始碼並編譯至$gopath/bin,我的目錄是~/go/bin,目錄下出現編譯好的二進位制可執行檔案fabric-ca-serverfabric-ca-client

接著初始化和啟動fabric-ca-server,需要設定乙個管理員使用者的名稱和密碼

fabric-ca

-server init -b admin:adminpw

fabric-ca

-server start -b admin:adminpw

手動編譯生成

git clone 

git checkout v1.1

.0

然後在fabric-ca目錄下進行編譯

make fabric-ca

-server

make fabric-ca

-client

會在.../fabric-ca/bin目錄下生成fabric-ca-serverfabric-ca-client。接著進入bin目錄對ca服務端進行初始化:

fabric-ca

-server init -b admin:adminpw

初始化後在目錄下生成

接著啟動ca伺服器

fabric-ca

-server start -b admin:adminpw

ca server開始監聽,預設監聽位址為。如果直接執行start命令則會自動先進行初始化init然後啟動服務開始監聽。

docker映象中同時包含了fabric-ca-serverfabric-ca-client

docker pull hyperledger/fabric-ca:x86_64-

1.1.0

利用docker-compose.yml檔案來啟動映象,配置檔案在.../fabric-ca/docker/server中,進入該目錄後啟動:

docker-compose up
即可啟動ca容器,如果映象不存在還會主動拉取映象,在.../server/fabric-ca-server目錄中會生成上述的配置檔案(這是利用docker-compose.yml檔案設定的對映),證書私鑰,資料庫檔案等,並且開始監聽乙個埠。

手動編譯docker映象

除了直接從docker hub拉取fabric-ca映象,還可以通過原始碼編譯生成映象。

fabric-ca目錄下執行:

make docker
會生成四個映象fabric-cafabric-ca-toolfabric-ca-peerfabric-ca-orderer,映象儲存在.../fabric-ca/build/image中,之後和上面的方法相同根據docker-compose.yml檔案啟動ca節點。

訪問fabric ca服務端的方法有兩種:通過客戶端工具(fabric-ca-client)和restful介面。本質上,客戶端工具也是呼叫服務端的restful介面實現的。這裡採用客戶端工具的方法來進行訪問。

docker exec -it fabric-ca

-server bash

這裡選擇執行編譯好的可執行檔案的方法,首先在乙個終端下啟動ca伺服器:

fabric-ca

-server start -b admin:adminpw

在另乙個終端操作ca客戶端。首先需要註冊(enroll)啟動時設定的管理員使用者, 註冊前需要設定證書儲存目錄的環境變數:

export fabric_ca_client_home=

$home/ca

fabric-ca

-client enroll -u http://admin:adminpw@localhost:7054

可以發現~/ca目錄下生成了乙個fabric-ca-client-config.yaml配置檔案,以及msp目錄,包含管理員的證書和私鑰。有了已經enroll成功的admin使用者,接下來將admin作為登記員(registrar)來登記(register)乙個新使用者:

fabric-ca

-client

register--

id.name

jim--id

.type

user--

id.affiliation

org1

.department1--

id.attrs

'hf.

revoker=true

,foo=bar'

客戶端可以接收到乙個密碼,用這個註冊密碼來註冊(enroll)使用者:

fabric-ca

-client enroll -u http://jim:igimqptupbrc@localhost:7054 -m $fabric_ca_client_home/jim

這樣乙個新使用者就註冊成功了,獲取了屬於自己的證書和私鑰。

總結一下,手動部署ca服務可以分為兩類方法:

vuex的使用與部署

由於store會隨著專案大起來的話,再寫在同乙個js裡面的話,維護起來會非常困難,至少,會很頭疼。所以可以考慮這樣部署 到src資料夾新建乙個store資料夾,新建乙個index.js 模組名根據你的需要起 const index mutations communitie state,res exp...

redis部署與使用

效能極高 redis 能讀的速度是 110000次 s,寫的速度是 81000次 s 豐富的資料型別 redis 支援二進位制案例的 strings,lists,hashes,sets 及 ordered sets 資料型別操作.原子 redis 的所有操作都是原子性的,同時 redis 還支援對幾...

sqoop部署與使用

tar zxvf sqoop 1.4.6.bin hadoop 2.0.4 alpha.tar.gz c install mv sqoop 1.4.6.bin hadoop 2.0.4 alpha sqoop 2.修改配置檔案 cd sqoop conf mv sqoop env template....