Hyperledger fabric Hyperledger结构中中间CA的用途是什么

Hyperledger fabric Hyperledger结构中中间CA的用途是什么,hyperledger-fabric,hyperledger-fabric-ca,Hyperledger Fabric,Hyperledger Fabric Ca,背景: Fabric表示,MSP可能有一个包含中间CA(ICA)的文件夹,如下所示 问题: 拥有此文件夹的目的是什么?据我所知,每个ICA证书都使用根CA证书签名,并且根CA证书被添加到MSP配置中。因此,即使fabric MSP没有带有ICA的文件夹,它似乎也有办法验证传入的请求(因为它有根证书) 我可能会认为,使用ICA可能不是为了验证,而是为了某些配置,并为不同ICA签名的身份赋予不同的角色,但对我来说,它到底可以如何使用还很模糊 文档: 以下是Hyperledger结构文档的相关部分:

背景:

Fabric表示,MSP可能有一个包含中间CA(ICA)的文件夹,如下所示

问题:

拥有此文件夹的目的是什么?据我所知,每个ICA证书都使用根CA证书签名,并且根CA证书被添加到MSP配置中。因此,即使fabric MSP没有带有ICA的文件夹,它似乎也有办法验证传入的请求(因为它有根证书)

我可能会认为,使用ICA可能不是为了验证,而是为了某些配置,并为不同ICA签名的身份赋予不同的角色,但对我来说,它到底可以如何使用还很模糊

文档:

以下是Hyperledger结构文档的相关部分:

中间CA:此文件夹包含以下证书的X.509证书列表: 此组织信任的中间CA。每张证书 必须由MSP中的一个根CA或中间CA签名 其颁发CA链最终返回到受信任的根CA的CA

中间CA可能代表该系统的不同子系统 组织(如ORG1-MANUFACTURING和ORG1-DISTRIBUTION) ORG1),或组织本身(如商业广告 CA用于组织的身份管理)。在 后一种情况下,中间CA可用于表示组织 细分。在这里,您可以找到有关最佳实践的更多信息 MSP配置。请注意,有可能有一个 没有中间CA的网络,在这种情况下 文件夹将为空

与根CA文件夹一样,此文件夹定义了从中获取的CA 必须颁发证书才能被视为 组织


我可以考虑建立中间CA的主要原因之一是为了保护您的信任根。您的组织或子组织可能会被分配一份您非常希望保护的身份证书。因此,您可以通过派生/生成一个或多个中间证书并设置相应的CA来保护它,这样您的根证书就可以保留在安全区域(比如DMZ),并且您仍然可以使用中间证书和CA获得验证和签名的好处。验证仍然不会受到影响,因为您的中间证书和CAs会从颁发地链接到单个信任根。

谢谢@arnabkaye!虽然有些问题我还不清楚。正如您所提到的,单根证书可用于验证中间CA通过信任链生成的所有签名。那么,为什么要将所有中间CAs证书存储在本地MSP中以供对等方、订购方和客户端使用呢?您需要区分使用您的证书的实体。与此类似,Verisign有一个全球所有浏览器都信任的证书,它根据组织名称和实体为其他网站签署其他证书,同样,您希望通过从一个受信任的根CA颁发多个身份证书来分别区分您的每个实体。