【问题标题】:Running Fabric CA natively - Could not find default `PKCS11` BCCSP本地运行 Fabric CA - 找不到默认的“PKCS11”BCCSP
【发布时间】:2020-01-06 21:13:23
【问题描述】:

尝试根据以下内容配置 HSM: https://hyperledger-fabric-ca.readthedocs.io/en/release-1.4/users-guide.html#configuring-an-hsm

尝试将 Fabric CA 服务器作为 systemd 服务运行,根据: https://upcloud.com/community/tutorials/hyperledger-fabric-systemd/

我遵循了上述链接和此链接的组合: https://gist.github.com/AkshayCHD/f7c96175dca1e5ab8d5785a3af0d5692

但是我根据以下内容使用“GO_TAGS=pkcs11 make fabric-ca-server”构建了它: https://jira.hyperledger.org/browse/FAB-13458

我根据以下链接安装了 SoftHSM 并且可以初始化令牌: https://wiki.opendnssec.org/display/SoftHSMDOCS/SoftHSM+Documentation+v2#SoftHSMDocumentationv2-Download

我在启动之前初始化了服务器,这样我就可以使用适当的 PKCS11 数据编辑 fabric-ca-server-config.yaml。

我可以在没有 PKCS11 的情况下正常启动服务器/服务,但是当我将 fabric-ca-server-config.yaml 文件编辑到下面时它永远无法正常工作。

有趣的是,当我将默认设置切换为“SW”时,我收到: 错误:无法初始化 BCCSP 工厂:无法初始化 PKCS11.BCCSP %!s():无法初始化 BCCSP PKCS11 [无法初始化 PKCS11 库 /home/ubuntu/softhsm/SoftHSMv2/src/lib/.libs/libsofthsm2。所以 ForFabric: 无法获取插槽列表 [pkcs11: 0x190: CKR_CRYPTOKI_NOT_INITIALIZED]]

但是当我有“默认值:PKCS11”时,我得到了这个错误: 找不到默认的PKCS11 BCCSP

我已阅读此https://jira.hyperledger.org/browse/FAB-9595,但我再次没有使用 Docker。

任何正确方向的帮助或指示将不胜感激。

相关输出:

密件抄送: 默认:PKCS11
pkcs11:
库:/home/ubuntu/softhsm/SoftHSMv2/src/lib/.libs/libsofthsm2.so
联系人:98765432
标签:ForFabric
哈希:SHA2
安全性:256
文件密钥库:
# 用于软件基于文件的密钥库的目录
密钥库:msp/密钥库
sw:
哈希:SHA2
安全性:256
文件密钥库:
# 用于软件基于文件的密钥库的目录
密钥库:msp/keystore

fabric-ca-server:

版本:2.0.0-snapshot-d780eb0

Go 版本:go1.13.5

操作系统/Arch:linux/amd64

【问题讨论】:

  • 你能用-d选项启动fabric-ca-server吗?我相信您的问题是您尚未初始化 SoftHSM ...但奇怪的是,在将默认设置为 PKCS11 并且仅设置为 SW 时您没有收到该错误。我们可能会在内部吃掉这个错误,因此-d 输出调试语句的原因。
  • [DEBUG] 初始化 BCCSP: &{ProviderName:pkcs11 SwOpts:0xc000080940 Pkcs11Opts:0xc0004c89c0} [DEBUG] 使用软件选项初始化 BCCSP &{SecLevel:256 HashFamily:SHA2 Ephemeral:false FileKeystore:0xc000045790 DummyKeystore: InmemKeystore:} [DEBUG] 使用 PKCS11 选项初始化 BCCSP &{SecLevel:256 HashFamily:SHA2 Ephemeral:false Library:/usr/local/lib/softhsm/libsofthsm2.so Label:ForFabric Pin:98765432 SoftVerify: false 不可变:false} [DEBUG] 关闭服务器 DB 错误:无法初始化 BCCSP 工厂:%!s() 找不到默认值 pkcs11 BCCSP
  • 由于字符限制,我上传了更多文字进行聊天。 PKCS#11 命令 /fab-ca/server$ pkcs11-tool --module /home/ubuntu/softhsm/SoftHSMv2/src/lib/.libs/libsofthsm2.so -l -t 使用带有当前令牌的插槽 0 (0xeb0f89e)登录到“ForFabric”。请输入用户 PIN:C_SeedRandom() 和 C_GenerateRandom():似乎是 OK 摘要:所有 4 个摘要函数似乎都可以工作 MD5:OK SHA-1:OK 签名:未实现验证(目前仅适用于 RSA):未找到私钥用于测试 Unwrap: 未实现解密 (RSA) 无错误

标签: hyperledger-fabric pkcs#11 hyperledger-fabric-ca softhsm


【解决方案1】:

执行GO_TAGS=pkcs11 make fabric-ca-server后,记得去掉原来的fabric-ca-server二进制,把新建的二进制放到path/to/go/bin

【讨论】:

    【解决方案2】:

    遇到的问题是作为一个用户创建令牌和作为另一个用户启动服务 (sudo) 的组合。创建令牌并以 root (sudo -i) 身份启动 Fabric CA 服务器解决了这个问题。

    root@ip-172-31-85-208:~/fab-ca/server# fabric-ca-server start -b admin:adminpw 2020/01/10 17:57:31 [INFO] 配置文件位置: /root/fab-ca/server/fabric-ca-server-config.yaml 2020/01/10 17:57:31 [INFO] 主目录中的启动服务器:/root/fab-ca/server 2020/01/10 17:57:31 [INFO] 服务器版本:2.0.0-snapshot-d780eb0 2020/01/10 17:57:31 [INFO] 服务器级别:&{身份:2 隶属关系:1 证书:1 证书:1 RAInfo:1 Nonce:1} 2020/01/10 17:57:31 [INFO] CA 密钥和证书已经存在 2020/01/10 17:57:31 [INFO] 密钥由 BCCSP 提供者 'PKCS11' 存储 2020/01/10 17:57:31 [INFO] 证书位于:/root/fab-ca/server/ca-cert.pem 2020/01/10 17:57:31 [INFO] 初始化 sqlite3 数据库在 /root/fab-ca/server/fabric-ca-server.db 2020/01/10 17:57:31 [信息] Idemix 发行者公钥和密钥文件已经存在 2020/01/10 17:57:31 [INFO] 密钥文件位置: /root/fab-ca/server/msp/keystore/IssuerSecretKey 2020/01/10 17:57:31 [INFO] 公钥文件位置: /root/fab-ca/server/IssuerPublicKey 2020/01/10 17:57:31 [信息] Idemix 颁发者撤销公钥和密钥文件已存在 2020/01/10 17:57:31 [INFO] 私钥文件位置: /root/fab-ca/server/msp/keystore/IssuerRevocationPrivateKey 2020/01/10 17:57:31 [INFO] 公钥文件位置: /root/fab-ca/server/IssuerRevocationPublicKey 2020/01/10 17:57:31 [INFO] 默认 CA 的主目录:/root/fab-ca/server 2020/01/10 17:57:31 [INFO] 操作服务器监听 127.0.0.1:9443 2020/01/10 17:57:31 [INFO] 收听http://0.0.0.0:7054

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-28
      • 2019-12-20
      • 2011-05-28
      • 1970-01-01
      相关资源
      最近更新 更多