我在我的 mac 上安装了 fabric composer 0.72,我能够按照这个线程将它连接到 Bluemix 上的我的区块链(Fabric 的 v.61)。
Fabric-composer-integration-with-bluemix-blockchain-service
现在我正在尝试构建一个 ubuntu (16.04) docker 容器并在那里运行 composer-rest-server。当我尝试从我的 docker 容器连接到我的区块链服务时(使用我在我的 mac 上使用的相同 ID,WebAppAdmin)我收到一个错误:
Discovering types from business network definition ...
Connection fails: Error: Identity or token does not match.
It will be retried for the next request.
{ Error: Identity or token does not match.
at /home/composer/.nvm/versions/node/v6.10.3/lib/node_modules /composer-rest-server/node_modules/grpc/src/node/src/client.js:417:17 code: 2, metadata: Metadata { _internal_repr: {} } }
我尝试将证书从我的 mac 复制到我的 docker 容器:
/home/composer/.composer-credentials/member.WebAppAdmin
但是当我这样做时,我得到了一个不同的错误,上面写着“签名不验证”。我做了一些额外的测试,我发现如果我使用了一个以前没有在 composer 中使用过的 id(即 user_type1_0),那么我可以连接,并且我可以在我的 .composer-credentials 目录中看到一个新证书。
我尝试删除该容器并构建一个新容器(我做了其他事情)我无法再次使用相同的用户 ID。
有人知道安全性和这些证书应该如何工作吗?似乎与证书生成/验证有关的东西与客户端(即硬件地址)相关联,这样如果我尝试在另一台机器上重新使用 id,证书或密钥或其他东西不匹配. 我有办法让事情顺利进行,但如果我不能使用来自不同机器的相同 ID,这似乎不是正确的方法。
谢谢!