Я не совсем понимаю, как работает fabric-ca. Это мой первый раз, когда я работал с CA. Я ознакомился с официальной документацией Fabric-CA и имею следующий вопрос.
Вот так я подхожу к запуску сервера CA, а затем регистрируюсь и регистрирую личность клиента.
1 - я запускаю фабрику ca server через докер, мой докер
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
, которые, как я понимаю, являются закрытыми ключами.
Наконец, что такое разница между командами регистрации и регистрации?