Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hyperledger fabric 是否可以从Hyperledger结构中的HSM管理TLS证书?_Hyperledger Fabric_X509certificate_Hsm - Fatal编程技术网

Hyperledger fabric 是否可以从Hyperledger结构中的HSM管理TLS证书?

Hyperledger fabric 是否可以从Hyperledger结构中的HSM管理TLS证书?,hyperledger-fabric,x509certificate,hsm,Hyperledger Fabric,X509certificate,Hsm,我在Hyperledger Fabric中有一个应用程序,我想使用HSM存储我的私钥,我认为在身份密钥对中使用它没有任何问题,但当涉及TLS密钥对时,我发现以下问题: 在对等中,我需要设置核心\u对等\u TLS\u密钥\u文件配置值,以便TLS通信正常工作 在Orders中,我需要设置ORDERER_GENERAL_TLS_PRIVATEKEY配置值,以便TLS通信正常工作 在创建网关的客户端中,我需要传递私钥,以便能够使用以下代码建立TLS通信: const gateway = new

我在Hyperledger Fabric中有一个应用程序,我想使用HSM存储我的私钥,我认为在身份密钥对中使用它没有任何问题,但当涉及TLS密钥对时,我发现以下问题:

  • 在对等中,我需要设置核心\u对等\u TLS\u密钥\u文件配置值,以便TLS通信正常工作

  • 在Orders中,我需要设置ORDERER_GENERAL_TLS_PRIVATEKEY配置值,以便TLS通信正常工作

  • 在创建网关的客户端中,我需要传递私钥,以便能够使用以下代码建立TLS通信:

    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(identityTLS.certificate, identityTLS.privateKey);
    
所以,就我所见,这是不可能的,我需要使用两个不同的钱包来存储身份和TLS证书,我是否遗漏了什么?或者,HSM中是否也可能有TLS私钥


谢谢

这是不可能的。不可能的原因是结构中的TLS堆栈没有与BCCSP接口,BCCSP是管理结构中HSM的组件

但是,通过一些代码更改,这是可能的。只需将TLS堆栈连接到BCCSP即可