Hyperledger Fabric CA服务器-初始化BCCSP PKCS11库时出错

问题描述

我已经为Thales提供的Hyperledger Fabric创建了HSM按需服务。

  1. 使用Thales门户创建了HSM服务。

  2. 已创建的HSM客户端,通过该客户端我们可以连接到已创建的HSM服务。

  3. 使用以下详细信息更新了fabric-ca-server配置文件中的bccsp部分。

        default: PKCS11
        pkcs11:
            Library: =/etc/hyperledger/fabric/dpod/org1.example.com/libs/64/libCryptoki2.so
            Pin: "*****"
            Label: testhsm
            hash: SHA2
            security: 256
            Immutable: false
            filekeystore:
                # The directory used for the software file-based keystore
                keystore: msp/keystore
    
    
    
  4. 使用命令source ./setenv

    来获取HSM客户端zip随附的setenv文件。
  5. 使用fabric-ca-server start 将Fabric-ca-server作为本机进程启动-服务器可以成功连接到HSM服务。

  6. 尝试在docker容器中启动fabric-ca-server,将整个HSM客户端zip卷安装,并设置了$ ChrystokiConfigurationPath。

启动Fabric ca服务器docker容器时,它抛出以下错误Error: Failed to get BCCSP with opts: Could not initialize BCCSP PKCS11: Failed initializing PKCS11 library =/etc/hyperledger/fabric/dpod/org1.example.com/libs/64/libCryptoki2.so testhsm: Instantiate failed [=/etc/hyperledger/fabric/dpod/org1.example.com/libs/64/libCryptoki2.so]

解决方法

好像您在bccsp配置中有一个=登录:

Library: =/etc/hyperledger/fabric/dpod/org1.example.com/libs/64/libCryptoki2.so

应该是

Library: /etc/hyperledger/fabric/dpod/org1.example.com/libs/64/libCryptoki2.so
,

是的,这是问题之一。

主要问题已通过以下方式解决:

  • 修改fabric-ca docker文件,它当前使用Alpine作为基本映像,HSM无法在Alpine上初始化,而将其替换为centos。
  • 重建fabric-ca映像并启动fabric-ca-server。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...