当我尝试通过运行来创建频道时出现此错误。
peer channel create -o orderer.aj.io:7050 -c channel1 -f /config/channel1.tx
这是我的日志------------
2019-10-21 05:50:13.950 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
Error: got unexpected status: FORBIDDEN -- implicit policy evaluation failed - 0 sub-policies were satisfied, but this policy requires 1 of the 'Writers' sub-policies to be satisfied: permission denied
答案 0 :(得分:0)
此错误的意思是您用来创建频道的用户没有“写”权限,换句话说,不是管理员。
在大多数情况下,当您使用对等加密材料而不是管理员创建通道时,会发生这种情况(请检查CORE_PEER_MSPCONFIGPATH环境变量指向的位置)。
答案 1 :(得分:0)
正如另一位用户在另一篇文章中提到的那样:1.4.3中有一项新功能,该功能使您可以为admin指定OU,而不必将证书明确放置在admincerts文件夹中。
在加密配置中,您设置了EnableNodeOUs: true
,这将自动为所有受支持的角色启用OU。
您会看到类似的东西
NodeOUs:
Enable: true
ClientOUIdentifier:
Certificate: cacerts/ca.sampleorg-cert.pem
OrganizationalUnitIdentifier: client
PeerOUIdentifier:
Certificate: cacerts/ca.sampleorg-cert.pem
OrganizationalUnitIdentifier: peer
AdminOUIdentifier:
Certificate: cacerts/ca.sampleorg-cert.pem
OrganizationalUnitIdentifier: admin
OrdererOUIdentifier:
Certificate: cacerts/ca.sampleorg-cert.pem
OrganizationalUnitIdentifier: orderer
在msp/config.yaml
文件中(在您的情况下,在crypto-config/peerorganisation/org1.example.com/msp/crypto.yaml
中)。
请注意AdminOUIdentifier
字段。这意味着,由CA为您的组织颁发的包含OU=admin
的任何证书现在都被视为管理员。在组织MSP下为admin用户生成的证书也是使用OU = admin生成的(例如,主题:C = US,ST = California,L = San Francisco,OU = admin,CN = Admin @ sampleorg)。
另一个原因可能是在configtx.yaml中,您没有为每个部分正确设置策略(这是我的问题)。 检查第一个网络样本中的configtx.yaml文件,并尝试进行相应设置