Ошибка при подключении к каналу от партнера: это удостоверение не является администратором - PullRequest
0 голосов
/ 25 сентября 2019

Я знаю, что проблема "Эта личность не является администратором" широко распространена, но это особый случай.Я прочитал много вопросов здесь и в Jira, и не вижу проблем, близких к моим.

Я пытаюсь подключиться к каналу из однорангового узла в полностью настраиваемой сети Hyperledger 1.4, где у меня естьне используется криптоген.Проблема, которую я получаю, заключается именно в этом:

2019-09-25 14:02:43.340 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: proposal failed (err: bad proposal response 500: access denied for [JoinChain][global]: [Failed verifying that proposal's creator satisfies local MSP principal during channelless check policy with policy [Admins]: [This identity is not an admin]])

Я знаю, что мне нужно использовать идентификацию администратора, чтобы сделать предложение о подключении к каналу, что я и делаю, зарегистрировавшись в качестве администратора организации.Как только это будет сделано, я просто присоединюсь к пиру (код ниже).Конечно, CORE_PEER_ переменные установлены правильно, и ADMIN_NAME и ADMIN_PASSWORD существуют.

# Get admin identity
ORG_ADMIN_HOME=/data/orgs/${ORG}/admin
ORG_ADMIN_CERT=/data/orgs/${ORG}/msp/admincerts/cert.pem
if [[ ! -d ${ORG_ADMIN_HOME} ]]; then
    echo "[INFO] Enrolling admin '${ADMIN_NAME}' with ${CA_NAME} ..."
    export FABRIC_CA_CLIENT_HOME=${ORG_ADMIN_HOME}

    fabric-ca-client enroll -d -u https://${ADMIN_NAME}:${ADMIN_PASSWORD}@${CA_URL}

    mkdir -p $(dirname "${ORG_ADMIN_CERT}")
    cp ${ORG_ADMIN_HOME}/msp/signcerts/* ${ORG_ADMIN_CERT}
    mkdir ${ORG_ADMIN_HOME}/msp/admincerts
    cp ${ORG_ADMIN_HOME}/msp/signcerts/* ${ORG_ADMIN_HOME}/msp/admincerts
fi
export CORE_PEER_MSPCONFIGPATH=${ORG_ADMIN_HOME}/msp

# Join channel
peer channel join -b ${GENESIS_FILE}

Я получил идентификацию администратора, зарегистрировав его перед этим с помощью другого сценария, который выполняет следующее:

# Enroll CA Admin
export FABRIC_CA_CLIENT_HOME=$HOME/cas/${CA_NAME}
fabric-ca-client enroll -d -u ${ENROLLMENT_URL}

# Register ORG Admin
fabric-ca-client register -d --id.name ${ADMIN_NAME} --id.secret ${ADMIN_PASSWORD} --id.attrs "hf.Registrar.Roles=client,hf.Registrar.Attributes=*,hf.Revoker=true,hf.GenCRL=true,admin=true:ecert,abac.init=true:ecert"

У меня такой вопрос: если я зарегистрировал Администратора Орг и могу зарегистрироваться, почему я получаю ошибку This identity is not an admin?Есть ли в этом смысл?

Спасибо

1 Ответ

0 голосов
/ 27 сентября 2019

Вы уверены, что сертификат администратора действительно находится в папке администратора партнера?

cp ${ORG_ADMIN_HOME}/msp/signcerts/* ${ORG_ADMIN_HOME}/msp/admincerts 

Вы делаете это внутри контейнера / виртуальной машины?

...