无法在我的网络上使用Node SDK +相互TLS进行操作

问题描述 投票:0回答:1

我的网络中有1个cli,1个ca,1个订购者,2个同级。我不得不转移到3个订购者,并且我读到我需要实现TLS才能让他们交流。我正在使用Hyperledger 1.4.3和Node SDK 1.4.4。

现在我的同龄人,cli,ca和订购者都具有TLS,自从我实例化并安装了链码,并且在必要时使用--tls并由cli调用了链码,一切似乎都正常了。木筏订购者正确选举领导者,同伴通过八卦等交流。因此,从网络的角度来看,一切似乎都很好。

现在,我需要更新Node.sdk应用程序,该应用程序与fabric-samples提供的应用程序非常相似。我曾经用来注册管理员,用户,然后使用以下方法连接到网络:

gateway = new Gateway()
await gateway.connect(ccp, { wallet, identity: 'user1', discovery: {enabled:false} });
const network = await gateway.getNetwork(channelName);

感谢网络,我习惯于调用合同并进行呼叫。由于我正在使用TLS,因此它不再起作用。

我读到我需要修改连接配置文件,该配置文件现在在对等方和证书颁发机构内部具有“ tlsCACerts”,因为我只对发布管理员用户证书感兴趣,然后对对等方进行查询。对等方的tls证书指向peerOrganization / ORGNAME / peers / PEERNAME / tls / ca.crt,而CA的tls证书指向peerOrganization / ORGNAME / tlsca / ca.crt。在enrollAdmin和registerUser上,当我使用ca.enroll()函数时,我还添加了配置文件:'tls'作为选项。

无论如何,我无法执行查询,因为当我调用getNetwork时,调试控制台上的答案是:

Unabled to initialize channel. Attempted to contact 1 Peers. Last error was Error: 2 UNKNOWN: access denied: channel [CHANNELNAME] creator org [ORGMSP].

我检查了peer1的内部,并且正在联系,我知道

channel [CHANNELNAME]: MSP error: the supplied identity is not valid: x509: certificate signed by unknown authority

我被困在这里,将不胜感激。

hyperledger-fabric hyperledger tls1.2
1个回答
0
投票

TLS表示客户端请求服务器发送其证书,客户端将进行验证相互TLS意味着客户端和服务器都需要彼此共享证书,并且彼此验证

因此,如果您在双向TLS上触发,则客户端还必须发送其证书

请按照半节点SDK教程中的详细说明进行操作

https://fabric-sdk-node.github.io/tutorial-mutual-tls.html

© www.soinside.com 2019 - 2024. All rights reserved.