Фон
У меня есть некоторые трудности в понимании создания криптографических материалов в Hyperledger Fabric. Я заметил, что есть похожий вопрос, Hyperledger fabric Crypto Materials , и я задал этот вопрос Вопросы по настройке MSP Hyperledger Fabric ранее. но у меня все еще много путаницы.
Я последовал примеру, Создание вашей первой сети , я заметил, что с помощью инструмента cryptogen
и потребляю это crypto-config.yaml
. Он генерирует ключи и сертификаты для заказчиков и организаций.
Например, в стороне каталог crypto-config/peerOrganizations/org1.example.com/
, который имеет двух пиров и одного пользователя,
имеет следующую структуру
|-- ca
|-- msp
| |-- admincerts
| |-- cacerts
| `-- tlsacerts
|-- peers
| |-- peer0.org1.example.com
| | |-- msp
| | | |-- admincerts
| | | |-- cacerts
| | | |-- keystore
| | | |-- signcerts
| | | `-- tlscacerts
| | `-- tls
| `-- peer1.org1.example.com
| |-- msp
| | |-- admincerts
| | |-- cacerts
| | |-- keystore
| | |-- signcerts
| | `-- tlscacerts
| `-- tls
|-- tlsca
|-- users
|-- Admin@org1.example.com
| |-- msp
| | |-- admincerts
| | |-- cacerts
| | |-- keystore
| | |-- signcerts
| | `-- tlscacerts
| `-- tls
`-- User1@org1.example.com
|-- msp
| |-- admincerts
| |-- cacerts
| |-- keystore
| |-- signcerts
| `-- tlscacerts
`-- tls
Ниже мое понимание и растерянность, которые нуждаются в разъяснении
Файлы в peers
- это идентификаторы для этого конкретного однорангового узла (часть сети блокчейна), в то время как файлы в users
- это идентификаторы для конечного пользователя (т.е. клиенты?). Я прав?
Для файлов в peer#@org1.example.com
:
keystore
(закрытый ключ) используется для подписания транзакции, когда конечный пользователь вызывает транзакцию (например, с помощью команды peer invoke ....
). Закрытый ключ также используется для одобрения?
signcerts
(открытый ключ) используется для проверки идентификатора подтвержденной транзакции заказчиками и коммиттерами. Итак, открытый ключ должен быть разослан всем партнерам и заказчикам, но как?
- Каковы цели
admincerts
, cacerts
, tlscacerts
и tls
? А почему tls
не под msp
? Возможно, у меня нет хорошего понимания MSP
Как и в пункте 2 выше, для чего предназначены ключи и сертификаты в users
? Они используются только для входа в блокчейн? Или они также будут использоваться для подписания сделки? и, возможно, использовать для доступа к части блокчейна (частные данные и контроль доступа?)
Более того, я также заметил, что admincerts
при peer0.org1.example.com
, peer1.org1.example.com
и Admin@org1.example.com
одинаковы. Но они отличаются от admincerts
от User1@org1.example.com
. Это приводит меня к вопросу, зачем User1 нужны admincerts?
В самом верхнем слое (без учета peers
и users
) у нас все еще есть три каталога: ca
, msp
и tlsa
. Каковы их цели? Кажется, эти ключи и сертификаты никому не принадлежат. И у cryptogen
, как говорят, нет CA, почему здесь все еще есть ca
?
Спасибо!