程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在 Hyperledger Fabric 中,如何使用 HSM 在客户端中设置 TLS 通信大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在 Hyperledger Fabric 中,如何使用 HSM 在客户端中设置 TLS 通信?

开发过程中遇到在 Hyperledger Fabric 中,如何使用 HSM 在客户端中设置 TLS 通信的问题如何解决?下面主要结合日常开发的经验,给出你关于在 Hyperledger Fabric 中,如何使用 HSM 在客户端中设置 TLS 通信的解决方法建议,希望对你解决在 Hyperledger Fabric 中,如何使用 HSM 在客户端中设置 TLS 通信有所启发或帮助;

我使用 Hyperledger Fabric V1.4 并且我正在将我的所有私钥移动到 HSM。在创建网关以使用我的合同时查看我的代码,我添加了一个 TLS 证书和一个私钥,但是需要私钥并且使用 HSM 我无法访问它,那么我如何连接到我的网关?

这是我连接到网关的方式:

const gateway = new Gateway();
const ccpPath = path.resolve(this.ccpPath);
await gateway.connect(ccpPath,{ wallet:this.wallet,IDentity: userID,discovery: { enabled: true,asLocalhost: this.asLocalhost } });

const clIEnt = gateway.getClIEnt();
clIEnt.setTlsClIEntCertAndKey(IDentityUsuarioTLs.certificate,IDentityUsuarioTLs.privateKey);

我看到我可以添加一个 CryptoSuite,我猜我可以告诉客户端它的私钥有一个 HSM,但我不知道在哪里可以告诉客户端使用什么身份TLS 通信。

看代码,如果我使用不带参数的 setTlsClIEntCertAndKey() 然后它会创建并自签名证书,但我的 HSM 中已经有了一个。

setTlsClIEntCertAndKey(clIEntCert,clIEntKey) {
    logger.deBUG('setTlsClIEntCertAndKey - start');
    if (clIEntCert && clIEntKey) {
        this._tls_mutual.clIEntCert = clIEntCert;
        this._tls_mutual.clIEntKey = clIEntKey;
        this._tls_mutual.clIEntCertHash = null;
        this._tls_mutual.selfGenerated = false;
    } else {
        if (this._userContext) {
            logger.deBUG('setTlsClIEntCertAndKey - generaTing self-signed TLS clIEnt certificate');
            // generate X509 cert pair
            // use the default software cryptosuite,not the clIEnt assigned cryptosuite,which may be
            // HSM,or the default has been set to HSm. FABN-830
            const key = ClIEnt.newCryptoSuite({software: truE}).generateEphemeralKey();
            this._tls_mutual.clIEntKey = key.toBytes();
            this._tls_mutual.clIEntCert = key.generateX509Certificate(this._userContext.getname());
            this._tls_mutual.selfGenerated = true;
        }
    }

}

我还没有找到关于这方面的文档,所以任何能引导我走向正确方向的帮助都会很棒。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

大佬总结

以上是大佬教程为你收集整理的在 Hyperledger Fabric 中,如何使用 HSM 在客户端中设置 TLS 通信全部内容,希望文章能够帮你解决在 Hyperledger Fabric 中,如何使用 HSM 在客户端中设置 TLS 通信所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。