在 fabric-ca-server 上使用軟件模擬的 HSM(密碼卡) 功能
安裝 SoftHSMv2
教程 SoftHSMv2
- 默認的配置文件
/etc/softhsm2.conf
- 默認的token目錄
/var/lib/softhsm/tokens/
初始化和啟動fabric-ca-server,需要設置一個管理員用戶的名稱和密碼
初始化令牌
# 初始化一個即可
softhsm2-util --init-token --slot 0 --label "fabric"=== SO PIN (4-255 characters) ===Please enter SO PIN: 71811222Please reenter SO PIN: 71811222=== User PIN (4-255 characters) ===Please enter user PIN: 71811222Please reenter user PIN: 71811222The token has been initialized and is reassigned to slot 423405613softhsm2-util --init-token --slot 1 --label "fabric"=== SO PIN (4-255 characters) ===Please enter SO PIN: 111111Please reenter SO PIN: 111111=== User PIN (4-255 characters) ===Please enter user PIN: 222222Please reenter user PIN: 222222The token has been initialized and is reassigned to slot 121977387#查看softhsm2-util --show-slots
配置fabric-ca-server的配置文件fabric-ca-server-config.yaml
bccsp:default: PKCS11sw:hash: SHA2security: 256filekeystore:keystore: msp/keystorepkcs11:Library: /usr/local/lib/softhsm/libsofthsm2.soPin: "222222"Label: fabrichash: SHA2security: 256Immutable: false
啟動 fabric-ca-server
#模式一: 新創建證書, 再啟動 (私鑰會保管在HSM中)
rm ./config-hsm/ca-cert.pem
fabric-ca-server init -b admin:adminpw -H config-hsmfabric-ca-server start -b admin:adminpw -H config-hsm#模式二: 指定已事先生成好的證書目錄
fabric-ca-server start -b admin:adminpw -H /etc/hyperledger/fabric-ca-server-config
查看 fabric-ca-server.db
sudo apt-get install sqlite3
sqlite3 config-hsm\fabric-ca-server.db
sqlite> .tables
# 查用戶表 (用戶admin已經在數據庫里。這是Fabric CA啟動時生成的)
sqlite> select * from users;
# 使用 enroll 命令登記admin后,才會生成證書
sqlite> select * from certificates;
- 往期精彩回顧:
- 區塊鏈知識系列
- 密碼學系列
- 零知識證明系列
- 共識系列
- 公鏈調研系列
- BTC系列
- 以太坊系列
- EOS系列
- Filecoin系列
- 聯盟鏈系列
- Fabric系列
- 智能合約系列
- Token系列