如何确保所有组织都签署了要安装的链码?

时间:2018-11-22 06:41:04

标签: hyperledger-fabric hyperledger blockchain

在Hyperledger Fabric 1.3中, 我如何确保所有组织都签署了要安装的链码?

我可以对代码签名,但是似乎没有组件可以验证签名。

详细信息如下:

前提条件

  • 面料1.3
  • 我有两个组织org1和org2。
  • org1希望验证org2已经签署了该代码,反之亦然,以确保不可否认性(不可否认性)。
  • 我知道我们可以通过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.

流程

The flow

1 个答案:

答案 0 :(得分:2)

Hyperledger Fabric中目前没有强制执行签名链代码包。在2.0版(计划于3月下旬发布)中,链码将有一个新的生命周期,它将提供这种功能。

对于当前的1.3版本和即将发布的1.4版本,要由安装链码的组织来确定在安装之前,链码软件包是否具有正确/足够的签名。