Hyperledger Fabric2.3执行make dist-clean all出现pkcs11测试失败如何解决
问题原因
这个报错是Hyperledger Fabric的PKCS11相关单元测试执行时,未检测到合法的PKCS11加密库路径导致的失败。PKCS11是用于对接硬件加密模块的接口标准,常规本地开发场景下不需要使用该功能,你安装pkcs11-proxy不解决问题是因为该组件只是PKCS11的代理工具,没有提供本地测试需要的基础库和路径配置。
可行解决方案
方案一:跳过PKCS11相关测试(推荐,适配绝大多数本地开发场景)
执行编译命令时添加禁用PKCS11测试的参数即可:
make dist-clean all TEST_PKCS11=false
该参数会跳过所有PKCS11相关的单元测试,不影响Fabric核心功能的编译和使用。
方案二:配置本地PKCS11环境(仅当你需要开发调试PKCS11相关功能时使用)
- 先安装本地软加密PKCS11实现库:
sudo apt install -y softhsm2 libsofthsm2-dev
- 配置PKCS11库路径环境变量,可写入
~/.bashrc持久化配置:
export PKCS11_LIB=/usr/lib/x86_64-linux-gnu/softhsm/libsofthsm2.so export PKCS11_PIN=1234 export PKCS11_LABEL=ForFabric
- 执行
source ~/.bashrc使配置生效后,重新执行make dist-clean all即可正常通过测试。
内容的提问来源于stack exchange,提问作者SOUPTIK BANERJEE
相关产品推荐
相关产品推荐

