当前位置: 首页 > 工具软件 > crypto-bar > 使用案例 >

Fabric 2.2 测试网络crypto-config-org1.yaml详解

刘博雅
2023-12-01
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#


# ---------------------------------------------------------------------------
# "PeerOrgs" - Definition of organizations managing peer nodes
# ---------------------------------------------------------------------------
PeerOrgs:
  # ---------------------------------------------------------------------------
  # Org1
  # ---------------------------------------------------------------------------
  - Name: Org1
    Domain: org1.example.com
    EnableNodeOUs: true
    # ---------------------------------------------------------------------------
    # "Specs"
    # ---------------------------------------------------------------------------
    # Uncomment this section to enable the explicit definition of hosts in your
    # configuration.  Most users will want to use Template, below
    #
    # Specs is an array of Spec entries.  Each Spec entry consists of two fields:
    #   - Hostname:   (Required) The desired hostname, sans the domain.
    #   - CommonName: (Optional) Specifies the template or explicit override for
    #                 the CN.  By default, this is the template:
    #
    #                              "{{.Hostname}}.{{.Domain}}"
    #
    #                 which obtains its values from the Spec.Hostname and
    #                 Org.Domain, respectively.
    # ---------------------------------------------------------------------------
    #   - Hostname: foo # implicitly "foo.org1.example.com"
    #     CommonName: foo27.org5.example.com # overrides Hostname-based FQDN set above
    #   - Hostname: bar
    #   - Hostname: baz
    # ---------------------------------------------------------------------------
    # "Template"
    # ---------------------------------------------------------------------------
    # Allows for the definition of 1 or more hosts that are created sequentially
    # from a template. By default, this looks like "peer%d" from 0 to Count-1.
    # You may override the number of nodes (Count), the starting index (Start)
    # or the template used to construct the name (Hostname).
    #
    # Note: Template and Specs are not mutually exclusive.  You may define both
    # sections and the aggregate nodes will be created for you.  Take care with
    # name collisions
    # ---------------------------------------------------------------------------
    Template:
      Count: 1
      SANS:
        - localhost
      # Start: 5
      # Hostname: {{.Prefix}}{{.Index}} # default
    # ---------------------------------------------------------------------------
    # "Users"
    # ---------------------------------------------------------------------------
    # Count: The number of user accounts _in addition_ to Admin
    # ---------------------------------------------------------------------------
    Users:
      Count: 1

cryptogen generate命令会读取crypto-config-org1.yaml文件来生成组织的加密材料和证书。

该文件主要定义了PeerOrgs,即管理对等节点的组织。在该配置文件中,Org1是一个PeerOrg,并定义了以下属性:

  • Name:组织名称
  • Domain:组织域名

在Hyperledger Fabric网络中,域名用于标识和区分不同的组织。每个组织都应该拥有一个唯一的域名。在配置文件中,每个组织都有一个名为Domain的属性,它指定了组织的域名。当Fabric网络中的参与方需要与其他参与方通信时,域名将用于识别要与之通信的参与方。此外,Fabric中的证书和标识都使用域名作为一部分其命名约定,因此使用唯一的域名可以确保证书和标识的唯一性。

  • EnableNodeOUs:是否启用节点OU

EnableNodeOUs是指定组织是否启用节点的组织单位(Organizational Units,OUs),节点OU是指定PEER节点的身份的单位,可用于控制对等节点的访问权限和授权策略。在Hyperledger Fabric网络中,节点可以属于不同的OU,可以通过配置OU标识和其对应的访问策略来精细控制节点之间的通信和数据访问。启用OU可以使组织更细粒度地管理节点,并更好地满足其安全和管理需求。

在PeerOrgs下面,Template指定了如何创建节点。在此示例中,节点使用默认主机名“peer%d”,其中%d将按顺序递增。

SANS代表"Subject Alternative Names",即主题备用名称。在生成证书时,通常可以指定多个主题备用名称,这些名称可以与证书中的主题名称一起使用,以增加证书的灵活性。在这里,SANS是在Org1中定义的,其值是一个字符串数组,其中只包含一个值"localhost"。这意味着在生成证书时,证书的主题备用名称将是"localhost",这使得可以在同一机器上运行不同的Fabric CA服务器而不会出现证书冲突的问题。(如果同时启动了peer0和peer1,并且它们的主机名都是localhost,都属于org1,域名都是org1.example.com,那么连接localhost.org1.example.com时,具体连接的是哪个节点是不确定的,取决于网络中的路由和负载均衡策略。因此,在多个节点都使用localhost主机名时,最好使用不同的端口或不同的IP地址来区分它们。)

此外,在Users下,Count指定了除Admin用户之外的其他用户数。在Hyperledger Fabric网络中,每个Peer节点都有一个管理员用户(Admin),可以使用该用户进行管理和操作。除了管理员用户,还可以为组织中的Peer节点创建其他用户账户。Count选项用于指定在生成证书时,为Peer节点创建的用户账户数量,除了管理员账户外的其他账户数量。例如,在上面提到的配置文件中,Count指定为1,则在生成证书时,除了Admin账户外,将创建1个其他用户账户。这些用户账户可以用于Peer节点之间的身份验证和授权。

使用此配置文件,cryptogen generate命令将生成组织的私钥、证书和其他加密材料,并将它们输出到指定的目录中。输出目录默认为./crypto-config,在这个例子中,我们已经将输出目录更改为./organizations。生成的证书和密钥将用于启动Fabric网络中的各种组件,如Peer节点和Orderer节点等。

 类似资料: