Hyperledger fabric Hyperledger编写器和身份验证

Hyperledger fabric Hyperledger编写器和身份验证,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,我目前正在使用hyperledger composer开发一个POC应用程序。我正在创建一个移动应用程序,它使用客户端SDK与我的hyperledger网络进行交互。我想知道身份验证是如何工作的。注册一个新用户效果很好,我可以注册一个新用户作为管理员,我会收到注册ID和注册机密。文档告诉我,enrollmentSecret用于确认CA生成证书和相应密钥 SDK给了我这样一种想法:我只使用enrollmentID和enrollmentSecret而不是证书和密钥进行身份验证 引用我发现的另一个例子

我目前正在使用hyperledger composer开发一个POC应用程序。我正在创建一个移动应用程序,它使用客户端SDK与我的hyperledger网络进行交互。我想知道身份验证是如何工作的。注册一个新用户效果很好,我可以注册一个新用户作为管理员,我会收到注册ID和注册机密。文档告诉我,enrollmentSecret用于确认CA生成证书和相应密钥

SDK给了我这样一种想法:我只使用enrollmentID和enrollmentSecret而不是证书和密钥进行身份验证

引用我发现的另一个例子:

当参与者使用注册ID和密码注册时,将生成注册证书并将其放入钱包(使用连接配置文件中的keyValStore属性进行配置)。生成注册证书后,注册密码将无效。这个秘密只能使用一次-它不是密码

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

或者SDK是否自动存储并使用存储在keyValStore(连接配置文件)中的证书进行身份验证?如果是这样,是否可以通过编程方式对此进行管理


提前感谢

Hyperledger Composer通过使用Hyperledger结构证书颁发机构(CA)注册新的注册证书来发布新身份。Hyperledger Fabric证书颁发机构生成一个注册密钥,可以将该密钥提供给参与身份,然后该身份可以使用注册密钥从Hyperledger Fabric证书颁发机构请求其注册证书和私钥

然后将参与者(添加到您的业务网络)绑定到该身份,该身份用于向Fabric区块链提交交易。因此,这样做的权限是通过连接配置文件中的元数据(针对相关用户指向KeyValStore的指针)和该KeyValStore中的id证书

查看Hyperledger Composer文档