2017-10-04 125 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