MSP Identity Validity Rules——MSP身份驗證規則
正如Hyperledger Fabric Membership Service Providers (MSP)——成員服務中描述所提到的,MSPs可以配置一組根證書權限(rCAs——root certificate authorities),並且可以選擇一組中間證書授權機構(iCAs——intermediate certificate authorities)。一個MSP的iCA證書必須由MSP其中的一個rCAs或iCAs的簽名。MSP的配置可能包含證書撤銷列表或CRL,如果任何一個MSP的rCA(root certificate authorities——根管理證書)都被列入CRL中,那么MSP配置中的CRL中不能包含任何iCA,否則MSP的設置將會失效。
每個rCA都是一個樹形根證書。也就是說,每個rCA可能是一個或多個iCAs證書的簽名者,而這些iCAs將是其他iCAs或用戶證書的簽名者。這里有幾個例子:
rCA1 rCA2 rCA3
/ \ | |
iCA1 iCA2 iCA3 id
/ \ | |
iCA11 iCA12 id id
|
id
默認的MPS實現接受由適當的權威機構簽署的有效身份的X.509證書。在上面的圖中,只有iCA11、iCA12、iCA2、iCA3和rCA3的證書才會被認為是有效的。由內部節點簽署的證書將被拒絕(縣官不如現管)。
注意,如果在MSP配置中指定了一個或多個組織單元,那么證書的有效性也會受到類似的影響。一個組織單元在MSP配置中指定為成對的兩個值,比如(parent-cert,ou-string)分別表示組織機構認證授權的組織單元證書以及實際的組織單元ID。如果證書C是由iCA或rCA為了MSP配置中指定了一個組織單元簽署的,那么C就被認為是有效的,如果在其他需求中,作為它的OU字段,其中一部分將包括ou-string。
