当前位置: 首页 > news >正文

Fabric系列 - SoftHSM 软件模拟HSM

在 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系列

相关文章:

  • Yocto项目实战经验总结:从入门到高级的全面概览
  • 从零开始跑通3DGS教程:(四)修改(缩放、空间变换)colmap生成的sfm结果
  • 数学相关使用笔记
  • Kubernetes 使用 containerd 实现 GPU 支持及 GPU Operator 部署指南
  • KNOWLEDGE-BASED SYSTEMS(KBS期刊)投稿经验分享
  • JavaScript基础-局部作用域
  • 深度学习篇---MediaPipe 及其人体姿态估计模型详解
  • 加速pip下载:永久解决网络慢问题
  • 动态规划之完全背包问题
  • Day21 奇异值分解(SVD)全面解析
  • C++:this指针
  • 编译后的js文件如何跟进调试
  • 研发效率破局之道阅读总结(5)管理文化
  • AtCoder AT_abc405_d ABC405D - Escape Route
  • 使用FastAPI和React以及MongoDB构建全栈Web应用03 全栈开发快速入门
  • 每日脚本学习5.10 - XOR脚本
  • 论敏捷软件开发及其应用
  • 关于web3
  • PyTorch API 2 - 混合精度、微分、cpu、cuda、可视化
  • 模拟太阳系(C#编写的maui跨平台项目源码)
  • 伊朗外长称正与美国进行“善意”的会谈
  • 云南多地突查公职人员违规饮酒:公安局门口开展酒精吹气测试
  • 韩国前国务总理韩德洙加入国民力量党
  • 墨西哥宣布就“墨西哥湾”更名一事起诉谷歌
  • 韩德洙成为韩国执政党总统大选候选人
  • 优秀“博主”在上海杨浦购房最高补贴200万元,有何条件?