我是Hyperledger Fabric的新手。我遇到了一个非常混乱的面料部分。
Cryptogen用于为组织中的用户和管理员生成证书和密钥。
专门谈论fabcar, 一个非常相似的事情是通过以下方式完成的:
那到底是怎么回事? 流量是多少? 一次又一次创建的这些管理员之间有什么区别?
我看到,CA服务器容器已安装了一个卷,它指向已经具有由cryptogen生成的证书和密钥的crypto-config文件夹。
类似的现有答案不是我想要的。我想深入了解。 谢谢。
答案 0 :(得分:0)
我不知道fabcar做什么,但是也许我可以向您阐明一些Hyperledger Fabric概念。
cryptogen
是一种开发工具,可用于生成开发Fabric网络最初需要的所有(与MSP和TLS相关的)加密材料。
对于更严重的部署,请改用Fabric-CA。 Fabric-CA是一个证书颁发机构,它维护为您的组织注册的身份的数据库,并允许您的注册参与者注册其证书。您还可以更新身份,吊销身份和证书等。
然后,您必须将CA管理员与组织管理员区分开。您首先需要注册CA管理员,否则您将无法注册身份。而组织管理员只是该组织具有角色管理员的身份。
通常,注册的CA管理员会生成所有身份。之后,在其他地方,组织管理员(或任何其他身份)通过指定注册期间声明的用户和密码来注册其证书。
答案 1 :(得分:0)
好的,所以在连续挖掘了1周后,我找到了该问题的确切答案。 首先,我想确定织物样品应用程序的确切流程和结构。
peer chaincode install
和peer chaincode instantiate
安装链码后(不要将此管理员与CA admin混淆,这只是一个管理通道的开发人员),合同对所有组件可用各自的渠道。Hyperledger Fabric SDK提供了网关抽象,以便 应用程序可以在委派网络的同时专注于应用程序逻辑 与网关的交互。网关和钱包使之成为现实 易于编写Hyperledger Fabric应用程序。 Find here in the docs
在这里分为一个不同的概念,fabric提供了两种认证架构(架构可能不是正确的词),
admin
才能生成证书。
在启动服务器本身时,使用带有fabric-ca-server start
参数的-b
选项和username:password
创建此引导程序标识。 回到结构,在启动任何网络(基本网络或第一个网络)结构之前,都要求我们生成cryto-config。
crypto-config
生成的证书和密钥来为应用程序生成身份。私钥和公钥首先在本地生成,并且公钥 密钥然后发送到CA,CA返回用于 由应用程序使用。然后,将这三个凭证存储在 钱包,使我们能够充当CA的管理员。 Find here in the docs
因此,Fabcar使用CA
以及为什么Commercial-Paper使用cryptogen
并不是织物设计的原因,这只是选择。
我将结束回答,并引用面料文档中的确切说明。
当我们创建网络时,一个管理员用户的名字叫admin 被创建为证书颁发机构(CA)的注册商。 我们的第一步是生成私钥,公钥和X.509 使用enroll.js程序的管理员证书。此过程使用 证书签名请求(CSR)-私钥和公钥是 首先在本地生成,然后将公钥发送到CA 它返回一个编码证书供应用程序使用。 然后将这三个凭证存储在钱包中,使我们 担任CA的管理员。我们将随后注册 并注册一个新的应用程序用户,供我们的 与区块链进行交互的应用程序Find here in the docs
addToWallet.js是Isabella将用于加载的程序 她的身份放入钱包,并且issue.js将使用此身份来 通过调用MagnetoCorp创建商业票据00001 书面合同。 Find here in the docs
非常欢迎专家进行任何更正。这些是我从代码观察中得出的推论。
答案 2 :(得分:0)
某些理论:cryptogen只是用golang编写的工具,它的作用是创建一个自签名的根ca和一些签名的证书(组织管理员,用户,实体)
现在,当您启动CA时,如果要使用cryptogen生成的相同证书和密钥,则将使用以下命令
fabric-ca-server start -b myorgadmin:myorgpw -d
ELSE如果您不想使用由密码生成的证书,则可以使用以下命令,并且您应该忘记由密码生成的证书,因为它们不再使用,您必须自己生成
fabric-ca-server init -b myorgadmin:myorgpw
差异是init
命令
Bootstrap CA服务器凭据是为了将来进行身份验证 目的
例如:如果要注册新用户,则需要进行身份验证 有凭据
将来,您可以使用由密码生成的用户证书,也可以通过对CA服务器进行身份验证来注册其他用户