嗨,我一直在尝试让 Hyperledger Fabric (v2.0.1) 连接到 SoftHSM2 (v2.5.0),但没有成功。主要目的是为对称加密/解密创建一个密钥,并将密钥安全地存储在 SoftHSM2 中。我计划从 Fabric 智能合约发送未加密的数据,由 SoftHSM2 加密,然后发送回智能合约以存储在区块链账本上。同样,我计划将来自区块链的加密数据发送给 SoftHSM2 解密,将未加密的数据发送回智能合约,然后发送给用户。
我的问题是当我打包我的链码并调用智能合约方法时,Fabric 无法找到扩展名为 .so 的文件。就我而言,该文件是 libsofhsm2.so。我已经在 Fabric 之外测试了我的代码,以确保密钥生成、加密和解密功能正常工作。
我应该尝试将 Fabric 链码手动打包到 .tar.gz 文件中吗?那会是正确的方法吗?我最初认为 Fabric 智能合约可以在我的计算机上找到外部文件,但也许我错了?我还研究了将 Fabric 配置为使用 PKCS11,但没有成功(https://hyperledger-fabric.readthedocs.io/en/release-2.0/dev-setup/build.html?highlight=softhsm2)。我认为这种配置是让 Fabric 将用户私钥存储在 SoftHSM2 中,但我想要存储的只是一个与此分开的密钥。我不知道这是否相关,但智能合约是用 Javascript 而不是 Go 编写的。
任何帮助或建议将不胜感激。谢谢!