我如何确保所有组织都签署了要安装的链代码?
How can I ensure that all organizations have signed the chaincode to install?
在 Hyperledger Fabric 1.3 中,
我如何确保所有组织都签署了要安装的链代码?
我可以对代码进行签名,但似乎没有组件验证签名。
详情如下:
先决条件
- 面料 1.3
- 我有两个组织,org1 和 org2。
- org1 想要验证 org2 是否已签署代码,反之亦然,以实现不可否认性(undeniability)。
- 我知道我们可以通过
peer chaincode install
安装没有签名的链码。
预期行为
在下面的命令中,我预计:
- 选项 A 必须成功,因为链代码包含来自两个组织的签名。
- 选项 B 必须产生某种错误或警告,因为链代码缺少来自 org2 的签名。
实际行为
- 不仅A选项,B选项也成功了,没有报错,出乎意料。
命令
org1> peer chaincode package -n mycc -v 0 example02/cmd -s -S \
-i "AND('Org1MSP.admin')" cc.out
Option A:
org2> peer chaincode signpackage cc.out signedcc.out
org1> peer chaincode install -n mycc -v 0 signedcc.out
org2> peer chaincode install -n mycc -v 0 signedcc.out
Option B:
org1> peer chaincode install -n mycc -v 0 cc.out
org2> peer chaincode install -n mycc -v 0 cc.out
org1> peer chaincode instantiate -o orderer:7050 -C mychannel \
-n mycc -v 0 -c '(snip)' -P "AND ('Org1MSP.peer','Org2MSP.peer')"
# Then Org2 makes a query.
流量
目前在 Hyperledger Fabric 中没有强制执行签名的链代码包。在 2.0 版(计划于 3 月下旬发布)中,链代码将有一个新的生命周期,它将提供此类功能。
对于当前的 1.3 和即将发布的 1.4 版本,安装链代码的组织将在安装之前检查它们是否具有正确/足够的链代码包签名。
在 Hyperledger Fabric 1.3 中, 我如何确保所有组织都签署了要安装的链代码?
我可以对代码进行签名,但似乎没有组件验证签名。
详情如下:
先决条件
- 面料 1.3
- 我有两个组织,org1 和 org2。
- org1 想要验证 org2 是否已签署代码,反之亦然,以实现不可否认性(undeniability)。
- 我知道我们可以通过
peer chaincode install
安装没有签名的链码。
预期行为
在下面的命令中,我预计:
- 选项 A 必须成功,因为链代码包含来自两个组织的签名。
- 选项 B 必须产生某种错误或警告,因为链代码缺少来自 org2 的签名。
实际行为
- 不仅A选项,B选项也成功了,没有报错,出乎意料。
命令
org1> peer chaincode package -n mycc -v 0 example02/cmd -s -S \
-i "AND('Org1MSP.admin')" cc.out
Option A:
org2> peer chaincode signpackage cc.out signedcc.out
org1> peer chaincode install -n mycc -v 0 signedcc.out
org2> peer chaincode install -n mycc -v 0 signedcc.out
Option B:
org1> peer chaincode install -n mycc -v 0 cc.out
org2> peer chaincode install -n mycc -v 0 cc.out
org1> peer chaincode instantiate -o orderer:7050 -C mychannel \
-n mycc -v 0 -c '(snip)' -P "AND ('Org1MSP.peer','Org2MSP.peer')"
# Then Org2 makes a query.
流量
目前在 Hyperledger Fabric 中没有强制执行签名的链代码包。在 2.0 版(计划于 3 月下旬发布)中,链代码将有一个新的生命周期,它将提供此类功能。
对于当前的 1.3 和即将发布的 1.4 版本,安装链代码的组织将在安装之前检查它们是否具有正确/足够的链代码包签名。