hyperledger-fabric - Hyperledger Fabric 网络中的多个组织具有相同的根 ca

标签 hyperledger-fabric hyperledger hyperledger-fabric-ca

在所有结构示例和文档中,通常都有一个唯一的私有(private)证书颁发机构为每个组织颁发证书。 但是,在使用代码库时,我没有看到不同组织需要各自拥有不同根 CA 的限制。

为多个组织使用相同的根 CA 是否存在问题?证书中的主题字段是否足以用于不同结构工作流程中的身份验证?

最佳答案

如果您想确保一个组织不会冒充另一个组织,则由组织颁发或为组织颁发的证书必须具有独特性。当然,处理此问题的最简单方法是每个组织都有一个单独的根 CA。也可以有一个共同的根,但每个组织有不同的中间 CA。

但考虑到您的问题基本上是关于使用单个 Fabric-ca 为多个组织颁发证书,这可以使用 v1.1 及更高版本中引入的组织单元 (OU) 标识符功能实现。基本上,您可以使用颁发的证书中的 OU 来区分组织。使用 Fabric CA v1.1 及更高版本,您可以为每个组织创建不同的从属关系,并且在颁发证书时,OU 将设置为在注册过程中与身份关联的从属关系。您可以信任单个管理员正确注册多个组织的身份,也可以创建一组分层管理员(这意味着创建多个 CA 管理员,但为每个管理员分配不同的从属关系,因为管理员只能在自己的从属关系下注册用户)。

然后,在 MSP 定义中,您可以使用 config.yaml 文件来指定与 MSP 关联的 OU。例如,如果您查看 https://github.com/hyperledger/fabric/blob/release-1.1/sampleconfig/msp/config.yaml ,那么

OrganizationalUnitIdentifiers:
  - Certificate: "cacerts/cacert.pem"
    OrganizationalUnitIdentifier: "COP"

表示该组织由证书中具有 OU=COP 的根 CA PLUS 标识。这也意味着 Fabric-ca 中的从属关系也将是“COP”

关于hyperledger-fabric - Hyperledger Fabric 网络中的多个组织具有相同的根 ca,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51092812/

相关文章:

hyperledger-fabric - 用于基于区 block 链的学术证书的 Hyperledger Composer

hyperledger-fabric - 如何在 Web 应用程序客户端签署 Hyperledger Fabric 交易?

Docker overlay2 占用磁盘空间

ssl - Hyperledger Fabric - 来自 fabric-ca 的带有 TLS 的外部链码

hyperledger-fabric - 使用 Hyperledger Fabric 添加自定义节点 OU

hyperledger-fabric - 在 Hyperledger Fabric 中为用户身份设置 PEM 属性

apache-kafka - 如何为 Hyperledger Fabric 1.0 设置 Kafka?

ibm-cloud - 如何将 Hyperledger 区 block 链部署到 IBM Bluemix

blockchain - 在 Hyperledger 结构中动态添加 Org 或 peer

go - Hyperledger Fabric 单元测试跨链代码调用而不折叠 vendor 文件夹