Hyperledger Fabric CA中注册和登记证书有什么区别?

6

在Hyperledger Fabric CA中,注册和登记证书有何区别?我对密码学一无所知,对于Fabric CA的工作原理感到非常困惑。此外,通过cryptogen生成的证书与通过Fabric CA生成的证书有何不同。

4个回答

9
据我了解,当您“注册”身份时,您只需在CA服务器中创建该身份的用户名和密码;而当您“注册”身份时,您将获得其证书和私钥。Cryptogen工具生成的证书与Fabric CA生成的证书没有任何区别,只是因为Cryptogen工具方便开发而已。不应在实时/生产环境中使用它。在幕后,cryptogen工具实际上会在本地启动一个fabric ca服务器。
这是最新的Fabric CA文档链接:

https://hyperledger-fabric-ca.readthedocs.io/en/latest/


3
“注册”由CA管理员完成。用户名和密码被分配给一个身份,以及属性(例如身份将是管理员还是节点?)。这个注册将用户名和密码,以及有关身份的其他相关信息,放入CA数据库中。此时没有生成证书,只是简单地完成了身份注册。
“注册登记”是创建证书并赋予身份用户的过程。用户名和密码通过另外的方式提供给用户,并且他们使用这个用户名和密码作为fabric-ca-client调用CA的一部分。然后生成公钥和私钥,编码与在CA注册的相关属性相对应。 将注册和登记分开的原因是确保只有身份用户才能收到他们的私钥。
CA创建的证书与cryptogen创建的证书完全相同——x.509证书就是x.509证书——但是cryptogen是一个快速在测试环境中创建证书的工具,而不是真正用于创建类似生产环境的证书的方法。

2
注册身份意味着将其详细信息添加到Fabric CA中。
注册是指已注册身份连接到CA并向其发送证书签名请求(CSR)的过程。 CA检查身份是否已注册并执行一些其他验证,如果检查成功,则返回已签名证书给身份。由于证书由区块链网络信任的CA签名,因此身份现在可以使用此证书与网络进行交互。
因此,在此特定顺序中,使身份能够与网络交互必须通过两个步骤:
1. 在CA上注册 2. 注册
管理员在启动时使用预注册的CA。
引用: fabric-ca-server start -b admin:adminpw
详细信息在此处: https://hyperledger-fabric-ca.readthedocs.io/en/release-1.4/users-guide.html 您也可以参考source

澄清一下,您首先需要与CSR注册,然后再进行注册。引用用户指南中的话:“注册新身份 执行注册请求的身份必须当前已注册...” - Dan Anderson
5
你好 Dan!你误解了这部分内容。要将身份注册到CSR中,它必须已经注册过!但是,要注册一个身份,你必须有权限这样做,也就是说,你的管理员身份应该已经被注册过了。从你的引用中“执行注册的身份”,这不是正在被注册的身份,而是代表你注册其他身份的身份。 - Ivan
这个答案现在是错误的,我不知道是否因为自2019年以来Fabric机制已经改变。现在你必须先注册然后再注册一个用户。 - Alessandro Baffa
@AlessandroBaffa,您能否详细说明一下?截至2021年,需要执行哪些步骤和命令? - Ricardo Passos
现在没有想法,我的答案是一年前的。 - Alessandro Baffa

0

在最新版本的Fabric CA中,首先注册(将用户名、密码和其他属性保存在CA的数据库中),然后注册的身份可以进行证书申请,这个概念与以前相同。 请参考最新链接: https://hyperledger-fabric.readthedocs.io/en/latest/deployment_guide_overview.html#step-four-use-the-ca-to-create-identities-and-msps

“注册并注册管理员身份并创建MSP。在与组织相关联的CA创建后,它可以用于首先注册用户,然后注册身份(生成网络上所有实体使用的证书对)。在第一步中,CA的管理员分配身份的用户名和密码。”


你的回答可以通过添加支持信息来改进。请[编辑]以添加更多细节,如引用或文档,以便他人可以确认你的答案是否正确。你可以在帮助中心找到有关编写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接