大佬教程收集整理的这篇文章主要介绍了在 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,请注明来意。