一直翻博客终于找到一种靠谱的说法,这里总结一下。
Q:为什么需要enroll和register?
A:注册新用户的目的是为了让用户得到自己的公私钥,在这个过程中不应该让除了自己以外的任何人得到自己的私钥。Fabric是私有链,不是谁都能直接注册的,这时候我们就需要让一个管理员代替我们注册,但是如果公私钥也由管理员发给我们的话就违背了隐私性的要求,所以我们仅需要管理员向ca-server register一个新身份,然后ca返回一个信息,管理员将这个信息发回给我们,我们再拿着这个信息向ca-server要公私钥(enroll)。总结就是register是告诉ca-server我要注册某某用户了,准备好发公私钥给我;enroll就是我向ca-server要公私钥的动作。
需要注意的是,在管理员替我们register的时候,需要用自己的公私钥来表明自己的身份,所以通常需要先enroll一下来获得管理员的公私钥。
一般来说,上面所称的公钥会用证书替代。
SDK相当于ca-client
调用链码都需要出示证书和私钥
如果上述有错误,务必指出!多谢