【问题标题】:Hyperledger Fabric Service Discovery - How to get peer tls certificates?Hyperledger Fabric 服务发现 - 如何获取对等 tls 证书?
【发布时间】:2020-01-01 15:34:49
【问题描述】:

我正在运行一个由 3 个组织组成的超级账本网络 (1.3)。所有组件都启用了 TLS(对等节点也是如此)。

我正在使用 fabric-go-sdk 来触发事务。

在fabric sdk的日志文件中,我经常得到以下错误: [...]由未知机构签署的证书[...]

这似乎发生在 sdk(为我自己组织的对等方初始化)尝试联系网络上不知道正确 tls 证书的其他节点时。

我也明白,sdk 会启动发现服务并尝试发现其他对等点(例如通道的对等点)。

但是我的 sdk 如何检索这些对等方的 tls ca 证书以便能够与他们联系?

到目前为止,我发现,在 sdk 的发现服务中,有一个函数可以通过调用 PeerConfig() 方法将发现的对等点转换为 PeerConfig:

func asPeer(ctx contextAPI.Client, endpoint *discclient.Peer){
 // ....
 peerConfig, found := ctx.EndpointConfig().PeerConfig(url)
 // ....
}

但 PeerConfig 函数也不知道发现的对等点的 tls ca 证书是什么,因此仅通过查看提供的 url 无法创建正确的 PeerConfig 对象。

将我的 sdk 配置为能够与其他对等方交谈的正确方法是什么? sdk从哪里获得其他组织的tls ca证书?他们真的被发现了吗?还是我必须手动提供?

【问题讨论】:

    标签: hyperledger-fabric-sdk-go


    【解决方案1】:

    @Subby 不要与所有东西混淆

    Org1 - org1CA

    Org2 - org2CA

    如果 go-sdk 的配置文件包含两个组织,那么您必须提及适当组织同行的 tlsca 证书

    您有责任提及正确的 tlsca 证书与服务发现无关

    a certificate signed by unknown authority >>> means wrong certificate which is signed by an untrusted certificate authority
    

    您需要做的就是提及适当组织的适当同行的 tlsca 证书

    进入服务发现

    The rule of thumb is you must need at least one peer to discover other peers, so the application will use this peer to discover other peers
    

    注意:必须配置

    - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
    

    查看样本发现结果http://ideone.com/UmM0cK

    【讨论】:

    • 但是我不明白:hyperledger-fabric.readthedocs.io/en/release-1.4/… 说:>> [...] SDK 需要大量信息才能允许应用程序连接到相关的网络节点。除了 CA 和 TLS 证书 [...] 在 v1.2 之前,此信息是静态编码的。然而,这个实现不是动态响应网络变化
    • Check this >>> 应用程序被引导,知道一组由应用程序开发人员/管理员信任的对等点,以提供对发现查询的真实响应。客户端应用程序使用的一个好的候选对等点是在同一组织中的对等点。请注意,为了让发现服务知道对等点,它们必须定义一个 EXTERNAL_ENDPOINT。要了解如何执行此操作,请查看我们的服务发现 CLI 文档。
    • 好的,如果我理解正确的话:如果我的 sdk 想与其他启用了 tls 的对等方交谈,则没有自动机制。我必须手动提供此信息,如果有新组织加入,我必须更新我的 sdk 配置吗?所以没有动态发现对等证书?发现服务只是发现哪些对等点可用或在哪个频道等......仅此而已?
    • 它在那里,但您必须从应用程序开发人员/管理员信任的对等方开始,以提供对发现查询的真实响应。发现适用于其他同行
    • 是的,它会给证书检查这个>>> ideone.com/UmM0cK 发现结果的示例输出阅读这个hyperledger-fabric.readthedocs.io/en/release-1.4/…
    猜你喜欢
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多