Fabric MSP随笔记录

MSP结构

本地MSP文件夹包含以下子文件夹:

  1. 一个 admincerts 目录,其中包含PEM文件,每个PEM文件对应一个管理员证书
  2. 一个 cacerts 目录,其中包含PEM文件,每个PEM文件对应一个根CA证书
  3. (可选的)一个 intermediatecerts 目录,其中包含PEM文件,每个PEM文件对应一个中间CA证书
  4. (可选的)一个文件 config.yaml,用来配置所支持的组织单位(OU)和身份分类(参见下面对应的部分)
  5. (可选的)一个 crls 目录,包含证书撤销列表(CRLs)
  6. 一个 keystore 目录,包含一个PEM文件,代表该节点的签名密钥,我们强调当前不支持RSA的密钥形式
  7. 一个 signcerts 目录,包含一个PEM文件,代表该节点的X.509证书
  8. (可选的)一个 tlscacerts 目录,其中包含PEM文件,每个PEM文件对应一个TLS根CA证书
  9. (可选的)一个 tlsintermediatecerts 目录,其中包含PEM文件,每个PEM文件对应一个TLS中间CA证书
    在这里插入图片描述
    上图显示了本地MSP在文件系统中的子文件夹
  • config.yaml: 通过启用“Node OUs”和定义可接受的角色来配置Fabric中的身份分类特性。

  • cacerts: 此文件夹包含此MSP代表的组织所信任的根CA的自签名X.509证书列表。此MSP文件夹中必须至少有一个根CA证书。
    这是最重要的文件夹,因为它确定了派生所有其他证书的必要CA,拥有这些证书才能被视为对应组织的成员,从而形成信任链。

  • intermediatecerts: 此文件夹包含该组织所信任的中间CA的X.509证书列表。每个证书必须由MSP中的一个根CA,或者其本身颁发的CA链最终会指向一个受信任的根CA的任何中间CA,进行签名。
    一个中间CA可能代表组织的不同细分(如ORG1-MANUFACTURING和ORG1-DISTRIBUTION对应于ORG1),或者组织本身(如果商业CA被用于组织的身份管理,则可能是这种情况)。在后一种情况下,中间CA可以用来表示组织的细分。这里你可以找到关于MSP配置的最佳实践的更多信息。请注意,一个正常工作的网络可能没有中间CA,在这种情况下,这个文件夹将是空的。
    与根CA文件夹一样,该文件夹也定义了CA,且证书必须从该CA颁发,才能被视为组织的成员。

  • admincerts (在Fabric的1.4.3及以上版本被弃用): 此文件夹包含一个身份列表,这些身份定义了具有此组织管理员角色的参与者。通常,这个列表中应该有一个或多个X.509证书。
    注意: 在Fabric v1.4.3之前,管理员是通过显式地将证书放在peer节点本地MSP目录的admincerts文件夹中来被定义的。Fabric的1.4.3及以上版本不再需要此文件夹中的证书。 相反,建议在用户注册到CA时,使用admin角色来指定节点管理员。然后,该标识被节点OU角色在它们的signcert中识别为admin。**提醒一下,为了使用管理员角色,必须在以上的config.yaml配置文件中,通过将“Node OUs”设置为Enable: true来启用“identity classification”特性。**我们稍后将进一步探讨这个问题。
    提醒一下,对于通道MSP,仅有参与者具有管理员角色这个条件,并不能说明他们可以管理特定的资源。给定身份在管理系统中拥有的实际权限是由管理系统资源的 策略 决定的。例如,通道策略可能指定ORG1-MANUFACTURING管理员拥有向通道添加新组织的权限,而ORG1-DISTRIBUTION管理员没有这样的权限。

  • keystore: (私钥) 这个文件夹是为peer节点或排序节点的本地MSP(或客户端的本地MSP)定义的,其包含节点的私钥。此私钥用于签名数据——例如,作为背书阶段的一部分,用其签名交易提案响应。
    此文件夹对于本地MSP是强制性的,并且必须准确地包含一个私钥。显然,对该文件夹的访问必须仅限于对peer节点负有管理责任的用户。
    通道MSP配置不包含此文件夹,因为通道MSP仅提供身份验证功能,而不提供签名功能。
    注意: 如果您使用硬件安全模块(HSM)进行私钥管理,此文件夹将为空,因为私钥由HSM生成并存储在HSM中。

  • signcert: 对于 Peer 节点或排序节点(或在客户端的本地 MSP 中),此文件夹包含 CA 发行的节点签名密钥。该证书表明节点的身份,与这个证书相对应的私钥可以用于生成签名,并且该签名可以被任何拥有这个证书的人验证。
    此文件夹对于本地 MSP是强制性的,并且必须包含一个准确的公钥。显然,对该文件夹的访问必须仅限于对 Peer 节点负有管理责任的用户。
    通道 MSP的配置不包含此文件夹,因为通道MSP仅提供身份验证功能,而不提供签名功能。

  • tlscacerts: 此文件夹包含受此组织信任的根CA的自签名X.509证书列表,用于进行节点之间基于TLS的安全通信。TLS通信的一个例子是peer节点需要连接到排序节点,以便它能接收到账本更新数据。
    MSP和TLS信息与网络内的节点相关——peer节点和排序节点,换句话说,而不是与使用网络的应用程序和管理程序相关。
    此文件夹中必须至少有一个TLS根CA证书。有关TLS的更多信息,请参见使用传输层安全协议(TLS)保护通信。

  • tlsintermediatecacerts: 此文件夹包含一个受该MSP所代表的组织信任的中间CA证书列表,用于进行节点之间基于TLS的安全通信。当商业CA被用作一个组织的TLS证书时,此文件夹特别有用。与成员资格中间CA类似,TLS中间CA的指定是可选的。

  • operationscerts: 此文件夹包含与Fabric运维服务API通信所需的证书。
    通道MSP包含以下附加文件夹:
    Revoked Certificates: 如果参与者的身份被撤销,关于该身份的识别信息——而不是身份本身——会被保存在这个文件夹中。对于基于x.509的身份,这些标识符是被称为Subject Key Identifier(SKI)和Authority Access Identifier(AKI)的字符串对,并且在使用证书时被检查,以确保证书没有被撤销。
    尽管这个列表在概念上与CA的证书撤销列表(CRL)相同而已,但它也与组织成员的撤销有关。因此,通道MSP的管理员可以通过发布CA的更新过的CRL,快速从组织中撤销参与者或节点。这个“撤销列表中的列表”具有可选择性。只有当证书被撤销时,它才会被填充。

猜你喜欢

转载自blog.csdn.net/weixin_44157851/article/details/125676972
今日推荐