用cryptogen生成证书后,发现证数目录还是挺多的,下面我们来看看这些证数都是干什么用的。
本文以peerOrganizations组织树为例,打开该目录,可以看到如下两个组织的证数目录:
每个组织中又有如下目录:
每个组织都会生成单独的根证书。
1. ca :存放了组织的根证书和对应的私钥文件,采用的是EC算法,证数为自签名(自已签发自己的公钥)。组织内的实体将基于该证数作为证数根。
2. msp:存放代表该组织的身份信息。
(1)admincerts:被根证书签名的组织管理员的身份验证证书。
(2)cacerts:组织的根证书,和ca目录下的文件相同。
(3)tlscacerts:用于TLS的ca证数,证数为自签名。
3. peers:存放该组织下所有peer节点的证数:
每个peer节点的证数结构都是相同的,我们已peer0为例:
(1)msp:
admincerts:组织管理员的身份验证证书,用于验证交易签名者是否为管理员身份。
cacerts:存放组织的根证书。
keystore:本节点的身份私钥,用来签名。
signcerts: 验证本节点签名的证书,被组织根证书签名。
tlscacerts:TLS连接用的身份证书,即组织TLS证书。
(2)tls:存放tls相关的证书和私钥。
ca.crt:组织的根证书。
server.crt:验证本节点签名的证书,被组织根证书签名。
server.key:本节点的身份私钥,用来签名。
3.users:存放属于该组织的用户实体。
(1)Admin:管理员用户的信息,包括其msp证书和tls证书。
1)msp:
admincerts:管理员身份证书。
cacerts:存放组织的根证书。
keystore:本用户的身份私钥,用来签名。
signcerts: 管理员用户的身份验证证书,由组织根证书签名,要放到Peer的msp/admincerts下才会被这个Peer认可。
tlscacerts:TLS连接用的身份证书,即组织TLS证书。
2)tls:存放TLS相关的证书和私钥。
ca.crt:组织的根证书。
server.crt: 管理员用户的身份验证证书,由组织根证书签名。
server.key:管理员的身份私钥,用来签名。
(2)User1:第一个用户的信息,结构和admin相同,包括msp证书和tls证书。