【发布时间】: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( ) 找不到默认值 pkcs11BCCSP -
由于字符限制,我上传了更多文字进行聊天。 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