Hyperledger Fabric 核心模块(6)Fabric-ca-server
1. Fabric-ca 的編譯和安裝
2 fabric-ca-server的啟動和配置
fab ric - ca- server 啟動之后是 以守護進程方式存在,可以通過 fabric - ca- client 或者實現其通信協議的客戶端發起請求 。 fabric-ca-serve 有三種方式設置配置信息,分別是啟動參數 、環境變量和配置文件 。
2.1. fabric-ca-server的命令行選項
fabric - ca- server 模塊有三個子命令,這三個子命令分別是:
? init :初始化 fabric -ca 服務器 。
? start : 啟動 fabric -ca 服務器 。
? version : 顯示版本 。
2.1.1. fabric-ca-server 的選項
fabric-ca- server的子命令沒有各 自 獨有的命令行選項,所有的子命令共用一組通用的全局選項,這些選項及其作用如下所示:
? --address: Fabric-ca 服務器的監聽地址 (默認為“ 0.0.0.。”) 。
? -b, 一boot :系統啟動對應的管理員賬號和密碼 。
? --ca.certfile: CA 證書文件( 默認為“ ca-cert. pem ” )
–ca.chainfi le: CA 鏈證書文件(默認為“ ca-chain.pem ”) 。
? --ca.keyfile: CA 密鑰文件(默認為“ ca-key.pem ”) 。
? -n, 一ca.name : 證書頒發機構名稱 。
? --cacount: CA 實例的數量 。
? --cafiles : 以逗號分隔的 CA 配置文件的列表 。
. 一 crl.expi叩: CRL 請求到期時間(默認為 24h ) 。
? --crlsizelimit :可接受的 CRL 的大小限制,以字節為單位(默認為 512000 ) 。
·…csr.cn :請求父 Fabric-ca 服務器的證書簽名時使用的公用名稱 。
? --csr.hosts : 逗號分隔的父類 Fabri c-ca 服務器的主機名 ,支持多個 。
? - -csr.serialnumber :請求父類 Fabric -ca 服務器的序列號 。
·…db . datasource : 數據庫的名稱(默認為“ fabric-ca-serv巳r.db ”),僅僅針對 一db.type
選項為 sqlite3 時有效 。
? - -db . tls.certfiles :和數據庫 TLS 通信時用的證書 文件, PME 格式(例如 rootl.pem,
root2.pem ) 。
? --db .tls .client.certfi le :和數據庫進行 TLS 通信時客戶端的證書文件, PME 格式 。
? --db . tls.client.keyfi le : 和數據庫進行 TLS 通信時客戶端的私鑰文件, PME 格式 。
·…db.type : 存儲賬號類型的數據庫的類型;目前支持三種數據庫類型 ,包括 sqlite3 、
postgres 、 mysql (默認為“ sqlite 3 ” ) 。
? -d, 一debug : 啟用調試級別日志記錄 。
? -H, 斗1ome: Fabric-ca 服務器的主目錄(默認為當前目錄) 。
.一intermediate.enro llment.label : 操作中使用的標簽 。
·一intermediate.enrollment.profi l e :發行證書時要使用的簽名配置文件的名稱 。
.一intermediate.parentserver. caname :服務器 CA 名稱 。
? -u,一intermediate.parentserver.url : 父 Fabric-ca 服務器的 URL 。
? – ldap .enabled : 啟用 LDAP 服務進行客戶端身份驗證和相關屬性的管理 。
? --ldap.groupfilter: LDAP 進行組過濾模式,默認值為( memberUid=o/os ) 。
·一ldap .tls.certfiles : LDAP 服務器的證書文件, PEM 格式(例如 rootl .pem, root2.
pem ) 。
? --ldap.tls.client.certfile: LDAP 服務客戶端的證書文件, PEM 格式 。
? --ldap.tls.client.keyfile : LDAP 服務的客戶端私鑰文件, PEM 格式 。
? --ldap.url: LDAP 服務的 URL 。
·…ldap.userfilter : LDAP 服務器的用戶過濾器,默認為( uid =o/o s ) 。
? -p, --port : Fabric-ca 服務器監昕端口(默認值為 7054 )
–registry.maxenrollments : 最大允許注冊的用戶數 ;如果 LDAP 未啟用時有效(默認
為一 I ) 。
? --tls.certfile: Fabric-ca 服務器的證書, PEM 格式(默認“ tls-cert. pem ” ) 。
? --tls.clientauth.certfiles : Fabric-ca 服務器的客戶端證書(例如 rootl.pem, root2.
pem ) 。
? --tls.clientauth.type : 客戶端類型(默認為 “ noclientcert ”) 。
·一tls.enabled :在監昕端口 上啟 用 TLS
2. 2 fabric-ca-server的啟動和配置
a. 執行 fabric-caserver 的命令 init ,可以初始化生成相關的配置文件 。
fabr i C-ca-server init -b admin:adminpw
在執行 in it 命令之前需要創 建相關的文件夾
b. 配置文件列表 :
? fabric-ca- server-config.yaml :配置文件 。
? fabric-ca-server.db : 數據庫文件 (數據庫選擇 sqlite3 時有效)。
? ca-cert.pem :證書文件。
? msp :私鑰文件夾
c. 配置文件說明
-
通用配置部分
通用配置部分包含了系統一些公用屬性, 比如端口、運行模式等 -
tls 部分主要包含了 TLS 通信相關的配置,包括是否需要打開 TLS 通信, TLS 通信的證
書和私鑰等文件的路徑等 -
ca 服務器屬性的配置,包含發布證書的組織機構 的名稱和相關的證書文件路徑等 ,具
體配置信息如下所示 -
registry 節點包含了客戶端注冊相關的信息
-
db 部分包含了 Fabric-ca 服務器存儲賬號文件的數據類型的配置, Fabric-ca 服務器目 前
支持 sqlite3 、 postgres 和 mysql 三種數據庫,選擇任何一種數據庫在啟動 Fabric-ca 服務器之
前都需要安裝, Fabric-ca 本身不會自動安裝這些數據庫引擎
eg.
選擇 mysql 存儲賬號:
db:type : mysqldatasource : root :rootpw@tcp(localhost : 3306)/fabric ca?parseTime=true&tls=custom -
Fabric-ca 可以配置使用遠端 LDAP 服務器來進行注冊管理并且保存注冊相關的數據, LDAP
服務相關的配置信息包含在 ldap 節點 -
affiliations 節點包含了組織中的部門的相關配置信息,這些配置信息在客戶端 SDK 調
用時相關的參數必須保持一致 。 -
signing 節點包含了證書簽發相關的配置, 包括證書的到期時間 等屬 性
-
csr 節點包含了證書申請請求時 需要 使用的配 置信息 。 如果當前 CA 服務器是作為根
CA 服務器存在的,那么需要設置這些屬性 -
bccsp 節點包含 了加密算法相關 的配置 ,在 bccsp 節點中可以選擇相關的加密算法以及
相關加密算法的證書文件 -
intermediate
當前 CA 作為中間層時相關的配置 。 如果當前 CA 服務器需要從上級 CA 服務器獲取授
權才能工作,需要配置 intermediate 節點的相關屬性
2. 3 fabric-ca-server 的啟動
配置文件設置好之后就可以啟動 fabric-ca-server 服務器
fabric-ca-server start -H / opt/hyperledger/fabric-ca --boot admin :adminpw總結
以上是生活随笔為你收集整理的Hyperledger Fabric 核心模块(6)Fabric-ca-server的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hyperledger Fabric 核
- 下一篇: Hyperledger Fabric 核