我对fabric-ca的工作原理感到困惑。这是我第一次与 CA 合作。我遵循了官方的 fabric-ca 文档并有以下问题。
这就是我启动 CA 服务器然后注册和注册客户端身份的方法。
1-我通过docker启动fabric ca服务器,我的docker
fabric-ca:
image: hyperledger/fabric-ca
container_name: fabric-ca
ports:
- "7054:7054"
environment:
- FABRIC_CA_SERVER_HOME=/etc/hyperledger/fabric-ca-server
- FABRIC_CA_CLIENT_HOME=/etc/hyperledger/fabric-ca-client
- FABRIC_CA_LOGLEVEL=debug
- FABRIC_CA_SERVER_CA_NAME=fabric-ca
volumes:
- "./fabric-ca-server:/etc/hyperledger/fabric-ca-server"
- "./fabric-ca-client:/etc/hyperledger/fabric-ca-client"
command: sh -c 'fabric-ca-server start -b rootadmin:rootadminpw'
2- 现在 docker 容器成功启动,我的 PWD 中生成了以下文件/证书。
▶ tree .
.
├── fabric-ca-client
├── fabric-ca-dokcer-compose.yaml
└── fabric-ca-server
├── ca-cert.pem
├── fabric-ca-server-config.yaml
├── fabric-ca-server.db
└── msp
└── keystore
└── 45eed6744814fc8f2055ead83036b9bb15e5b9c5c5fd2b36db2419a7e585b8c3_sk
4 directories, 5 files
- 我已经按照这个关于 OpenSSL 的教程(https://jamielinux.com/docs/openssl-certificate-authority/),根据它我们需要一个自签名的根证书。
* 我了解上面生成的证书是自签名根证书。
4-现在根据fabric-ca文档,我们需要注册一个引导身份
fabric-ca-client enroll -u http://rootadmin:rootadminpw@localhost:7054
此命令在目录中生成加密文件和配置文件,fabric-ca-client
如下所示
▶ tree .
.
├── fabric-ca-client-config.yaml
└── msp
├── cacerts
│ └── localhost-7054.pem
├── intermediatecerts
│ └── localhost-7054.pem
├── keystore
│ └── b06fc324d2176a14db0fde95a951f846b57e533ea34bf94ab231345bdf3b13a5_sk
└── signcerts
└── cert.pem
5 directories, 5 files
那么这些加密货币和服务器上生成的加密货币,特别是.pem
文件之间有什么区别。
服务器和客户端加密文件之间的关系是什么?这些客户端密码是由服务器签名的吗?
而且,如果我fabric-ca-client
多次运行上述命令,.pem
文件保持不变,但我在keystore
文件夹中得到多个文件,我理解这些文件是私钥。
最后,注册命令和注册命令之间到底有什么区别?