2017-10-04 132 views
0

我目前正在使用hyperledger作曲家的POC应用程序。我正在创建一个使用客户端SDK与我的hyperledger网络进行交互的移动应用程序。我想知道身份验证如何工作。注册一个新用户可以正常工作,我可以注册一个新用户作为管理员,并且我收到了注册ID和enrollmentSecret。该文档告诉我注册秘书被用作CA的证实以生成证书和相应的密钥。Hyperledger作曲者和认证

SDK给我的想法是,我只使用enrollmentID和enrollmentSecret而不是证书和密钥进行身份验证。

引用另一answer我发现:

当参与者使用招收登记ID和秘密,则产生一个登记证书,并放入自己的钱包(使用在连接配置文件中的属性keyValStore配置)。注册证书生成后,注册机密将失效。秘密只能使用一次 - 它不是密码。

但是我想要做的是给出身份证书和密钥的所有权,以便他们可以使用它在网络上进行身份验证(可能会将其转换为物理形式/纸质钱包)。看看SDK文档,这似乎不可能,我目前不知道它是如何工作的,如果连接到网络的唯一方法是提供enrollmentId和秘密。

还是SDK自动存储并使用存储在keyValStore(连接配置文件)中的证书进行身份验证?如果是的话,是否有可能以编程方式进行管理?

在此先感谢

回答

0

Hyperledger作曲问题通过使用Hyperledger面料的证书颁发机构(CA)来注册新的注册证书,新的身份。 Hyperledger Fabric证书颁发机构生成一个可以提供给参与身份的注册密钥,然后他可以使用注册机密从Hyperledger Fabric证书颁发机构请求注册证书和私钥。

https://hyperledger.github.io/composer/unstable/managing/identity-issue.html

然后,您可以绑定一个参与者(添加到您的企业网络)到该标识和标识用于事务提交到布料blockchain。因此,这样做的权限是通过连接配置文件中的元数据(指向正在讨论的用户的KeyValStore的指针)以及该KeyValStore中的id证书。

查看Hyperledger Composer文档。

https://hyperledger.github.io/composer/unstable/managing/identity-bind.html