问题标签 [hyperledger-fabric-ca]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
317 浏览

hyperledger-fabric - 干净地关闭fabric ca服务器的正确方法是什么?

要启动一个 Fabric ca 服务器,我们使用fabric-ca-server start -b admin:adminpw

需要遵循什么命令或步骤才能干净地关闭它。

我已阅读并检查没有默认命令。参考 - https://jira.hyperledger.org/browse/FAB-1963?page=com.atlassian.jira.plugin.system.issuetabpanels%3Aworklog-tabpanel

0 投票
1 回答
451 浏览

hyperledger-composer - 从针对 couchdb Fabric 运行时的超级账本作曲家查询教程运行查询时出错

我正在尝试连接 Composer 和 Fabric 之间的点,以构建一个支持多个组织的概念验证应用程序。因此,我使用 Composer 教程来构建业务网络,然后是“部署到多组织业务网络”教程(它引用了 Fabric“构建您的第一个网络”教程,但告诉您使用不同的 git repo BYFN 教程,我做了)。

我能够使用 Composer 的开发人员教程来构建简单的贸易业务网络,然后将存档复制到我使用 Fabric 构建多组织业务网络的文件夹中(这需要我想使用的 couchdb无论如何,为了能够进行更复杂的查询),启动它,然后使用资源管理器 REST API 创建参与者、资产和交易交易。这一切都很好。

然后,我进入 Composer Queries 教程以添加 queries.qry,生成新存档,复制并更新存档的结构安装,停止并更新并重新启动 REST API 服务器。我现在可以在 REST API 中看到查询,所以我知道它已经获取了新代码。但是,无论我尝试通过 REST API 资源管理器运行哪个查询,它们都返回相同的错误:

本教程中最简单的查询是一个简单的不带参数的 get all,所以问题不可能是我传入的问题(因为实际上没有任何东西可以传入)。问题必须是系统性的。

示例:获取所有商品查询

错误消息说它不喜欢 $class 在响应中。

并且 selectCommodities 查询示例响应的 API 文档具有相同的格式:

所以我不确定出了什么问题,但似乎要么是查询本身与 CouchDB 不兼容的问题,要么是从 Composer 中的查询到低级 Fabric API 的翻译层问题?后一种理论得到了 Composer API 层返回的 500 具有嵌套 400 错误的支持,这意味着 Composer 层通过 hlfconnection 传递的某些内容是无效的。

任何帮助是极大的赞赏!我无法想象我是第一个遇到这个问题的人,但我没有在网上找到任何直接相关的东西。提前致谢!

作曲家版本 0.16.6

码头工人 PS:

f844a2957bd5 dev-peer0.org2.example.com-tutorial-network-0.16.6-95a0f8a4fe6ff659a5943abc80b26a1134e77b74942eef102fa92c8480b680eb "chaincode -peer.add…" 24 小时前 24 小时前 dev-peer0.org.16.example.com0 6 556c9f3841ce dev-peer0.org1.example.com-tutorial-network-0.16.6-e4f751b9b8b3a307f6bf25ea97ccf3625bd75730a1dcb3f989a9a34bbb73f536 “chaincode -peer.add…” 24 小时前 24 小时前 64 小时 dev-peer0.com111-dev-peer0.com1 .6 831ca5b9a839 dev-peer1.org2.example.com-tutorial-network-0.16.6-a184efa69bdcbcb2e6ec3764e01d56f0c574ca0ad09d4656269d3b7aefbc44b8“链码-peer.add…”24 小时前 24 小时前 dev-peer1.org2.example.com-tutorial-network-0.16.6 6faf5b875df9 dev-peer1.org1.example.com-tutorial-network-0.16.6-44b9f2a6ea1ed75f106aa0b5fc8387c95cbde9eee551df9fb36d16709f2db981. " 24 小时前 24 小时前 dev-peer1.org1.example.com-tutorial-network-0.16.6 afbcbe9292fd dev-peer1.org2.example.com-mycc-1.0-26c2ef32838554aac4f7ad6f100aca865e87959c9a126e86d764c8d01fadd8346ab hours." 链码前 26 小时前 dev-peer1.org2.example.com-mycc-1.0 8444f922486d dev-peer0.org1.example.com-mycc-1。0-384f11f484b9302df90b453200cfb25174305fce8f53f4e94d45ee3b6cab0ce9 "chaincode -peer.add…" 26 hours ago Up 26 hours dev-peer0.org1.example.com-mycc-1.0 753588bacb47 dev-peer0.org2.example.com-mycc-1.0-15b571b3ce849066b7ec74497da3b27e54e0df1345daff3951b94245ce09c42b "chaincode -peer .add..." 26 小时前 26 小时前 26 小时前 dev-peer0.org2.example.com-mycc-1.0 662b61c00673 hyperledger/fabric-peer "peer node start" 26 小时前 26 小时前 0.0.0.0:10051->7051/tcp , 0.0.0.0:10053->7053/tcp peer1.org2.example。com 80a37822a0d6 hyperledger/fabric-peer "peer node start" 26 小时前 Up 26 hours 0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp peer1.org1.example.com 2878eacafb29 hyperledger/fabric -peer "peer node start" 26 小时前 Up 26 hours 0.0.0.0:9051->7051/tcp, 0.0.0.0:9053->7053/tcp peer0.org2.example.com e8f3259dca2a hyperledger/fabric-peer "peer node start" 26 小时前 Up 26 hours 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp peer0.org1.example.com a79c29e762cd hyperledger/fabric-couchdb "tini -- /docker-ent..." 26 小时前 26 小时前 4369/tcp, 9100/tcp, 0.0.0.0:6984->5984/tcp couchdb1 34271122957a hyperledger/fabric-couchdb "tini -- /docker-ent…" 26 小时前 Up 26 hours 4369/tcp, 9100/tcp, 0.0.0.0:8984->5984/tcp couchdb3 8b88227ea7a7 hyperledger/fabric-ca "sh -c 'fabric-ca-se..." 26 小时前 Up 26 hours 0.0.0.0:7054->7054/tcp ca_peerOrg1 a75fa6328b02 hyperledger/fabric-ca "sh -c 'fabric-ca-se..." 26 小时前 Up 26 hours 0.0.0.0:8054->7054/tcp ca_peerOrg2 4e21c3c8fa16 hyperledger/fabric-orderer "orderer" 26 小时26 小时前 0.0.0.0:7050->7050/tcp orderer.example.com 2881999a4c7b hyperledger/fabric-couchdb "tini -- /docker-ent..." 26 小时前 26 小时前 4369/tcp, 9100/tcp, 0.0 .0.0:7984->5984/tcp couchdb2 8a77a5e86a3a hyperledger/fabric-couchdb "tini -- /docker-ent..." 26 hours ago Up 26 hours 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp couchdb0

0 投票
1 回答
95 浏览

hyperledger-fabric - 我们是否应该为每个最终用户颁发多个用户证书

我目前的组织结构如下

假设我使用 Fabric-CA 颁发证书。

1) Peer 5 上将有 100 多个用户。我应该为每个用户提供一个唯一的证书吗?

2)如果我为每个人添加一个证书,我将如何为用户设置权限。像 Role.ADMIN 或 Role.MEMBER ?

0 投票
1 回答
129 浏览

hyperledger-fabric - 为什么重启fabric网络后之前的ecert和keys仍然有效?

按照 fabcar 示例教程(编写您的第一个应用程序),我已经通过管理员 ecert 注册并注册了“user1”用户。因此,“user1”的密钥和电子证书保存在“hfc-key-store”子目录中。使用“user1”身份材料,我使用 query.js 脚本从分类帐中读取数据。

之后,我想再次启动网络,所以杀死所有 docker 容器,清除 docker 镜像、网络和卷。但是身份资料('hfc-key-store')没有被销毁。重新启动网络后,我尝试使用以前的“user1”身份材料查询分类帐数据,并且工作正常。我不明白为什么重启网络后旧的“user1”ecert 仍然有效?如果fabric-ca注册了ecert,应该检查哪个fabric组件?重新启动后我没有为fabric-ca注册管理员,所以'user1'也没有注册。

谢谢。

0 投票
1 回答
498 浏览

hyperledger-fabric - 如何使用fabric ca详细构建中间CA服务器?

从Enrolling intermediate ca开始,必须指定“hf.IntermediateCA = true,并且

,而我无法构建中间 ca 服务器。

有人能给出详细的步骤吗?

0 投票
1 回答
417 浏览

hyperledger-fabric - Hyperledger Fabric Node.js SDK API 注册失败

我有一个在特定环境上运行的 Fabric 网络,我正在尝试将余额转移节点应用程序示例与它集成。

好吧,我运行第一个命令,我得到以下错误:

参数在 network-config.yaml 上:

CA 名称也在特定的 Fabric CA 容器上定义FABRIC_CA_SERVER_CA_NAME

知道发生了什么吗?

0 投票
0 回答
154 浏览

hyperledger-fabric - 如何为使用 API 创建签名

Hyperledger Fabric CA 提供了一堆 API 用于与其 CA 服务器交互,并且几乎在标头中请求注册令牌以进行授权。
正如它在文档中提到的,令牌由两个以句点分隔的 base 64 编码部分组成
- 注册证书
- 证书和请求正文的签名。
目前,我生成了注册证书和正文请求的 base64,但不知道如何使用这些东西创建签名。
那么,如何创建这个令牌呢?Hyperledger Fabric 是否提供任何工具来完成此步骤?

0 投票
1 回答
593 浏览

hyperledger-fabric - 如何将您的自定义超级账本结构网络集成到前端?

通过遵循结构文档并编辑配置,我使用超级账本结构创建了一个自定义网络。我还部署了我的自定义链代码(以更新并从分类帐中获取结果),并成功注册了管理员和用户。现在,我想在网页上获取链码的结果。我怎样才能实现它?有人可以推荐一些好的资源吗?

0 投票
1 回答
491 浏览

mysql - fabric-ca-server 使用 ssl 连接到 mysql

我阅读了此文档https://hyperledger-fabric-ca.readthedocs.io/en/release-1.0/users-guide.html#mysql-ssl-configuration以设置 fabric-ca-server 使用 ssl 连接到 mysql。我使用openssl生成CA文件,并将客户端文件复制到fabric-ca-server(通过docker-compose中的volumns)

这是fabric-ca-server中关于tls的变量:

我在fabric-ca容器中获取日志:

CA Files: [/etc/hyperledger/fabric-ca-server-config/mysql-ssl/ca.pem] 2018/05/23 08:20:32 [DEBUG] Client Cert File: /etc/hyperledger/fabric-ca-server-config/mysql-ssl/client-cert.pem 2018/05/23 08:20:32 [DEBUG] Client Key File: /etc/hyperledger/fabric-ca-server-config/mysql-ssl/client-key.pem 2018/05/23 08:20:32 [DEBUG] Check client TLS certificate for valid dates 2018/05/23 08:20:32 [DEBUG] Could not load TLS certificate with BCCSP: Could not find matching private key for SKI: CSP:500 - Failed getting key for SKI [[250 75 118 17 13 151 30 107 89 252 20 23 73 26 157 142 242 68 135 173 169 174 26 220 55 109 100 221 107 41 99 135]] /opt/gopath/src/github.com/hyperledger/fabric-ca/vendor/github.com/hyperledger/fabric/bccsp/sw/impl.go:257 github.com/hyperledger/fabric-ca/vendor/github.com/hyperledger/fabric/bccsp/sw.(*impl).GetKey /opt/gopath/src/github.com/hyperledger/fabric-ca/util/csp.go:218 github.com/hyperledger/fabric-ca/util.GetSignerFromCert /opt/gopath/src/github.com/hyperledger/fabric-ca/util/csp.go:340 github.com/hyperledger/fabric-ca/util.LoadX509KeyPair /opt/gopath/src/github.com/hyperledger/fabric-ca/lib/tls/tls.go:78 github.com/hyperledger/fabric-ca/lib/tls.GetClientTLSConfig /opt/gopath/src/github.com/hyperledger/fabric-ca/lib/dbutil/dbutil.go:182 github.com/hyperledger/fabric-ca/lib/dbutil.NewUserRegistryMySQL /opt/gopath/src/github.com/hyperledger/fabric-ca/lib/ca.go:539 github.com/hyperledger/fabric-ca/lib.(*CA).initDB /opt/gopath/src/github.com/hyperledger/fabric-ca/lib/ca.go:155 github.com/hyperledger/fabric-ca/lib.(*CA).init /opt/gopath/src/github.com/hyperledger/fabric-ca/lib/ca.go:126 github.com/hyperledger/fabric-ca/lib.initCA /opt/gopath/src/github.com/hyperledger/fabric-ca/lib/server.go:266 github.com/hyperledger/fabric-ca/lib.(*Server).initDefaultCA /opt/gopath/src/github.com/hyperledger/fabric-ca/lib/server.go:97 github.com/hyperledger/fabric-ca/lib.(*Server).Init /opt/gopath/src/github.com/hyperledger/fabric-ca/lib/server.go:116 github.com/hyperledger/fabric-ca/lib.(*Server).Start /opt/gopath/src/github.com/hyperledger/fabric-ca/cmd/fabric-ca-server/start.go:41 main.runStart /opt/gopath/src/github.com/hyperledger/fabric-ca/vendor/github.com/spf13/cobra/command.go:643 github.com/hyperledger/fabric-ca/vendor/github.com/spf13/cobra.(*Command).execute /opt/gopath/src/github.com/hyperledger/fabric-ca/vendor/github.com/spf13/cobra/command.go:734 github.com/hyperledger/fabric-ca/vendor/github.com/spf13/cobra.(*Command).ExecuteC /opt/gopath/src/github.com/hyperledger/fabric-ca/vendor/github.com/spf13/cobra/command.go:692 github.com/hyperledger/fabric-ca/vendor/github.com/spf13/cobra.(*Command).Execute /opt/gopath/src/github.com/hyperledger/fabric-ca/cmd/fabric-ca-server/main.go:95 main.RunMain /opt/gopath/src/github.com/hyperledger/fabric-ca/cmd/fabric-ca-server/main.go:82 main.main /opt/go/src/runtime/proc.go:192 runtime.main /opt/go/src/runtime/asm_amd64.s:2087 runtime.goexit Caused by: Key type not recognized 2018/05/23 08:20:32 [DEBUG] Attempting fallback with certfile /etc/hyperledger/fabric-ca-server-config/mysql-ssl/client-cert.pem and keyfile /etc/hyperledger/fabric-ca-server-config/mysql-ssl/client-key.pem

我还使用其他方式连接到 mysql:一种是启动另一个 mysql 容器作为客户端,以使用 ssl 连接到 mysql 服务器;另一种是通过将 mysql 服务器端口暴露给我的主机,在我的主机中使用 MySQLWorkbench 和 ssl。

以这种状态SELECT sbt.variable_value AS tls_version, t2.variable_value AS cipher, processlist_user AS user, processlist_host AS host FROM performance_schema.status_by_thread AS sbt JOIN performance_schema.threads AS t ON t.thread_id = sbt.thread_id JOIN performance_schema.status_by_thread AS t2 ON t2.thread_id = t.thread_id WHERE sbt.variable_name = 'Ssl_version' and t2.variable_name = 'Ssl_cipher' ORDER BY tls_version;

在此处输入图像描述

所以,我想知道我生成的认证有效,但是fabric-ca代码有问题吗?

0 投票
1 回答
186 浏览

hyperledger-fabric - 如何在不使用 docker 的情况下在 Ubuntu 16 上安装 hyperledger Fabric?

如何在 ubuntu 16 中安装超级账本结构并将结构组件作为服务运行。如何设置具有多个主机多个主机的结构网络。