问题标签 [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 投票
4 回答
3522 浏览

hyperledger-fabric - Fabric CA 客户端用户注册授权失败

我正在尝试在初始化结构 CA 服务器后注册管理员:

并使用以下命令启动 CA 服务器:

在客户端,注册命令:

客户端错误信息:

服务器端:

结构 CA 客户端/服务器:

版本:1.2.1-snapshot-3bcdbb2 Go 版本:go1.11 操作系统/Arch:linux/amd64

在这里找到类似的帖子:

https://jira.hyperledger.org/browse/FABC-302

它用 v1.2 标记为已解决,但现在没有关于如何解决它的明确说明。谢谢 :)

0 投票
2 回答
86 浏览

node.js - 使用 REST api 注册用户时出错

我已经配置了一个 Hyperledger Fabric 网络并fabcar根据网络修改了应用程序。当我运行 registerUser.js 文件时,它正在运行

并出现以下错误。

请建议我如何解决这个问题。

0 投票
2 回答
317 浏览

hyperledger-fabric - 失败错误:密钥库中缺少私钥。无法为用户管理员建立签名身份

通过区块链网络中的 REST 服务注册新用户时生成公钥但无法生成管理员用户的私钥,并且还出现以下错误。

错误:失败错误:密钥库中缺少私钥。无法为用户 admin 建立签名身份。

遵循以下步骤:

  1. 在超级账本结构中创建了一个网络。
  2. 通过引用现有的“余额转移”应用程序创建新的节点应用程序以发布其余服务。

  3. 然后启动节点应用程序。

  4. 在邮递员工具中测试其余服务 url。

在 Postman 工具中测试 url http://localhost:4000/users时出现上述错误。

代码级错误: app.js--->helper.js

请建议。

0 投票
1 回答
285 浏览

ldap - 使用 openldap 配置 hyperledger fabric-ca 服务器

有人Fabric-CA (1.2.0-stable)用服务器成功配置openldap服务器吗?

我在日志中看到此错误:

这是我用来启动的命令openldap

这是运行的命令fabricca

我创建了一个可以连接到 openldap 容器的 docker 覆盖网络

0 投票
2 回答
478 浏览

hyperledger-fabric - Hyperledger Composer:如何使用卡片调用composer REST服务

我使用 Hyperledger composer 在本地构建小型企业网络。我还按照这个网址为参与者创建了几张卡片。

现在我必须通过调用通过 composer REST 服务器公开的 REST 服务来调用这个区块链上的不同事务。但这些交易应该只由各自的参与者调用。

如何使用我的浏览器/移动应用程序中较早创建的卡片调用这些服务?还是卡与服务访问无关?那么为什么我们需要为参与者创建卡片呢?

0 投票
1 回答
1366 浏览

ssl - Hyperledger Fabric SDK - https 和 TLS 证书/密钥

注意:我使用的是 Go SDK,但这应该适用于 Node、Java 等 SDK。

我正在使用一个fabric-ca实例作为我的证书颁发机构,对于现实的生产环境,我需要使用安全连接。

根据config-e2e.yaml示例配置文件 [1],我们应该可以https在 CA url 中使用。例子:

但是,一旦需要,SDK 要求在[1] 部分https中添加 TLS 证书/密钥文件路径:client

但是,其他文档 [2] 表明该tlsCACerts部分用于双向 TLS 连接,并且基于我对 TLS [3] 的有限理解,https连接不需要双向 TLS(大多数浏览器不使用双向 TLS 来保护联系)。

有人可以解释一下:

1)保护(https)SDK(客户端)和CA / peer / orderer之间连接的最简单方法?

2) 为什么我们将 TLS 证书/密钥文件路径硬编码到配置文件中,而在生产中使用时应该经常刷新这些文件路径?


注意:这个问题/答案似乎表明您不需要双向 TLS 来建立安全连接,但是如果我添加https:到我的 CA url,我会收到错误,直到我填写该tlsCACerts部分。



[1] https://github.com/hyperledger/fabric-sdk-go/blob/master/test/fixtures/config/config_e2e.yaml
[2](参见“客户端身份验证”与服务器端 TLS 设置)https ://hyperledger-fabric.readthedocs.io/en/release-1.2/enable_tls.html
[3] http://www.cafesoft.com/products/cams/ps/docs32/admin/SSLTLSPrimer.html

0 投票
1 回答
761 浏览

hyperledger-fabric - 关于会员服务提供商的 Hyperledger Fabric 文档 - 问题

我阅读了有关 Hyperledger Fabric Membership Service Providers (MSP) 的文档,但并不是所有内容对我来说都很清楚。

MSP 上文档部分的链接如下: https ://hyperledger-fabric.readthedocs.io/en/release-1.2/membership/membership.html

  1. 从文档中引用:

这就是会员服务提供者 (MSP) 发挥作用的地方——它通过列出其成员的身份或通过识别来确定信任域(例如组织)的成员是受信任的根 CA 和中间 CA哪些 CA 被授权为其成员颁发有效身份,或者——通常情况下——通过两者的结合。

我对这一段的理解是:OrgX 的 MSP 要么有一个 OrgX 成员的列表(因此可以简单地对照列表检查网络上的参与者),或者,MSP 定义允许哪个证书颁发机构为OrgX 的成员。这种理解正确吗?

  1. 如果 OrgX 的 MSP 定义了允许向 OrgX 成员颁发身份的证书颁发机构,那么这如何保护网络免受不受欢迎的参与者进入?假设 OrgX 的 MSP 使用“Symantec”作为其 CA。因此,凡是持有赛门铁克证书的人都被视为 OrgX 的成员,可以参与网络。但是,如果我(不是 OrgX 的成员)从“赛门铁克”获得证书怎么办?我现在是否自动被视为 OrgX 的成员并可以加入网络?

  2. 有通道 MSP 和本地 MSP。根据文档,通道 MSP 和本地 MSP 都定义了哪些身份属于某个组织(例如,OrgX)。但是,如果通道 MSP 包含与本地 MSP 相同的信息(即基本上是身份列表),那么将通道 MSP 实例化到节点有什么意义呢?

在此处输入图像描述

0 投票
1 回答
2960 浏览

hyperledger-fabric - gRPC 失败,在多个节点上的 Hyperledger Fabric 区块链上执行链代码时

我想在多个节点上运行我自己的超级账本区块链。

我有以下设置:

我的 Ubuntu PC 正在托管一个订购者、对等方、沙发数据库、CA 服务器。

我的 Raspberry Pi(运行 Ubuntu Mate)正在托管:一个 peer 和 couch db。

这两个节点都在我的 docker swarm 组中。(我使用以下教程进行设置,并在RPi上运行 Fabric。)

我成功创建了一个频道。订购者和两个同行都能够加入它。peer chaincode然后我使用命令行界面中的工具安装并实例化了链代码。我还用一些值初始化了我的分类帐。

如果我在命令行界面 docker image 中执行以下命令:

无论我是在 RPi 还是 PC 节点上执行 cmd,它都会成功地从账本中返回所有数据。

我面临的问题如下:只要我想通过 Hyperledger-Fabric-SDK 运行相同的查询,它仍然会返回一些 grpc 错误。

Javascript SDK:

下面是我执行的 query.js(它来源于这段代码

以下行:return channel.queryByChaincode(request);返回错误:来自查询的错误 = 错误:在截止日期之前无法连接

我搜索了这个错误的根源,发现它可能是 grpc 的暂时故障,因此他们将其关闭,直到有人再次遇到它1

执行:

查询.js:

由于我真的很绝望,所以我在 Java SDK 中尝试了同样的方法。此代码源自本教程

运行它时,我遇到了类似的错误。此行:channel.initialize();导致以下错误:

错误频道 - 向 peer0.org1.example.com 发送提案失败,因为:gRPC 失败=状态{code=UNKNOWN,描述=访问被拒绝:频道 [mychannel] 创建者组织 [Org1MSP],原因 = null}

异常跟踪如下:

主.java:

有人可以帮我解决这个问题吗?一个有趣的提示是,如果我在我的 PC 上本地执行 Hyperledger 网络。两种代码(JS 和 Java)都可以正常工作。

0 投票
2 回答
732 浏览

node.js - Angular App 作为 Hyperledger Fabric 组织的客户端应用程序

我是超级账本的新手。我正在使用 Hyperledger Fabric 并定义了我的网络,通过对等节点安装和实例化了链代码。

有人可以分享他们的想法:

为网络中的每个组织创建客户端应用程序的步骤应该是什么?客户端需要什么配置?是否有可用的示例示例

注意: 我不能使用作曲家。

0 投票
2 回答
1285 浏览

docker - 如何使用 docker-compose 启动中级 ca?

我遵循的步骤:

1) 使用 1-ca(即 root ca)、1-orderer、1-peer 和 1-couchdb 启动结构

2)我将shell附加到作为root的ca并触发2个命令来注册中间ca。

3)我启动ca1容器如下:

但它总是会创建默认证书,所以我从容器中删除了所有证书,然后再次启动启动命令,当我尝试使用该中间 ca 注册管理员时,它给了我以下错误:

我不确定我遵循的过程。所以建议我要遵循的确切步骤,如果这些步骤正确,那么就是这个错误的原因。

我遵循了文档:https ://hyperledger-fabric-ca.readthedocs.io/en/latest/users-guide.htm