ПроблемуНе видя атрибутов сертификата, когда он не работает локально
Когда я разворачивать 4 равноправные узлы с PBFT или Без операционное в облаке, любые атрибуты сертификатов пользователя не видны. Значения пустые.
Наблюдения
Все работает локально. Это говорит о том, что я правильно нахожу API, а цепочный код правильно обращается к атрибутам.
Когда я прикрепляюсь к контейнеру членства, я вижу правильные членыrvc.yaml с aca.enabled, установленным в true. Это тот же самый ямл, который работает локально. Для хорошей меры я также передаю переменную ENV MEMBERSRVC_CA_ACA_ENABLED = true.
Я могу видеть атрибуты для пользователей в базе данных ACA службы членства. (предполагая, что пользователи были созданы с атрибутами)
Когда я смотрю на фактический сертификат из журнала (от Bytes до Hex, затем Base64 decode), я вижу атрибуты. (Добавить сертификат [30 82 02 dd 30 8 ....)
Все атрибуты пусты при развертывании. Нет ошибок.
Журналы Членство Сервис
Я активировал ведение журнала отладки, и увидеть, что членство услуг думает, что он включен ACA:
19:57:46.421 [server] main -> DEBU 049 ACA was enabled [aca.enabled == true]
19:57:46.421 [aca] Start -> INFO 04a Staring ACA services...
19:57:46.421 [aca] startACAP -> INFO 04b ACA PUBLIC gRPC API server started
19:57:46.421 [aca] Start -> INFO 04c ACA services started
Это выглядит хорошо. Что мне не хватает?
Guess
- Может быть, что основной докер Контейнер chaincode развертывает в не включена защита? Использует ли он ENV для родительского партнера? Одно из отличий заключается в том, что локально я использую «режим dev» без шейных масок.
Membership Service
membersrvc:
container_name: membersrvc
image: hyperledger/fabric-membersrvc
volumes:
- /home/ec2-user/membership:/user/membership
- /var/hyperledger:/var/hyperledger
command: sh -c "cp /user/membership/membersrvc.yaml /opt/gopath/src/github.com/hyperledger/fabric/membersrvc && membersrvc"
restart: unless-stopped
environment:
- MEMBERSRVC_CA_ACA_ENABLED=true
ports:
- 7054:7054
Root Peer Service
rootpeer:
container_name: root-peer
image: hyperledger/fabric-peer
restart: unless-stopped
environment:
- CORE_VM_ENDPOINT=unix:///var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=vp1
- CORE_SECURITY_ENROLLID=vp1
- CORE_SECURITY_ENROLLSECRET=xxxxxxxx
- CORE_SECURITY_ENABLED=true
- CORE_SECURITY_ATTRIBUTES_ENABLED=true
- CORE_PEER_PKI_ECA_PADDR=members.x.net:7054
- CORE_PEER_PKI_TCA_PADDR=members.x.net:7054
- CORE_PEER_PKI_TLSCA_PADDR=members.x.net:7054
- CORE_PEER_VALIDATOR_CONSENSUS_PLUGIN=NOOPS
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /var/hyperledger:/var/hyperledger
command: sh -c "peer node start"
ports:
- 7051:7051
- 7050:7050
Вот запрос:
{
"jsonrpc": "2.0",
"method":"query",
"params": {
"chaincodeID": {
"name" :"659cb5dcc3063054e4c90908050eebf68eb2bd193cc1520f1f2d198f0ff42268"
},
"ctorMsg": {
"args":["get_results", "{\"Id\":\"abc123\"}"]
},
"secureContext": "user123",
"attributes":["account_id","role"]
},
"id": 2
}
E dited *: Я раньше думал, что это просто PBFT ... но это также происходит на NOOPS на облаке. Я привел пример к NOOPS.