Hyperledger fabric 通过cryptogen创建的用户与通过Fabric CA Server注册的用户之间的差异

Hyperledger fabric 通过cryptogen创建的用户与通过Fabric CA Server注册的用户之间的差异,hyperledger-fabric,hyperledger,Hyperledger Fabric,Hyperledger,在进行Hyperledger结构设置时,我们创建了加密资料,并提到了组织的用户,相应地生成了用户加密资料,用于在通过CLI登录时调用链码。此外,当我们尝试通过SDK连接网络时,我们还需要注册用户以连接到网络。那么,这两个用户之间有什么区别呢 用于生成Hyperledger结构密钥材料的Cryptogen实用程序主要用于测试环境 它在结构CA服务器启动之前生成CA证书。{生产环境中不会出现这种情况。} 此证书装载到docker-compose.yaml文件中的fabric ca。这是通过volum

在进行Hyperledger结构设置时,我们创建了加密资料,并提到了组织的用户,相应地生成了用户加密资料,用于在通过CLI登录时调用链码。此外,当我们尝试通过SDK连接网络时,我们还需要注册用户以连接到网络。那么,这两个用户之间有什么区别呢

用于生成Hyperledger结构密钥材料的Cryptogen实用程序主要用于测试环境

它在结构CA服务器启动之前生成CA证书。{生产环境中不会出现这种情况。}

此证书装载到docker-compose.yaml文件中的fabric ca。这是通过volumes关键字完成的,如以下代码段所示:

ca.example.com:
图片:hyperledger/fabric ca
环境:
-FABRIC\u CA\u HOME=/etc/hyperledger/FABRIC CA服务器
-FABRIC\u CA\u SERVER\u CA\u NAME=CA.example.com
-FABRIC\u CA\u SERVER\u CA\u CERTFILE=/etc/hyperledger/FABRIC CA SERVER config/CA.org1.example.com-cert.pem
-结构CA服务器CA密钥文件=/etc/hyperledger/FABRIC CA服务器配置/4239AA0DCD76DAEEB8BA0CDA701851D14504D31AAD1B2DDDBAC6A57365E497C
端口:
- "7054:7054"
命令:sh-c'fabric ca server start-b admin:adminpw-d'
卷数:
-./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
容器名称:ca.example.com
网络:
-基本

上面脚本中的命令'fabric ca server start-b admin:adminpw-d'注册引导标识。应用程序使用此引导标识注册“管理员”用户。在此注册期间,fabric ca server向应用程序提供一个ecert、用户私钥和cacert链PEM文件

根据上述参考,cryptogen和通过应用程序生成的用户证书将使用相同的根CA证书颁发。

当使用CLI执行命令(如安装chaincode、实例化chaincode等)时,您将使用cryptogen生成的用户证书,因为这些证书将装载到相应的对等计算机中。请再次参阅docker-compose.yaml中的peer的volumes部分:

volumes:
        - /var/run/:/host/var/run/
        - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer
        - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users
        - ./config:/etc/hyperledger/configtx

综上所述,用于调用SDK提供的REST API的应用程序用户与通过cryptogen创建并与CLI一起使用的用户之间没有区别,只是创建它们的方式不同。“仅用于测试环境”,这是否意味着我们应该使用Fabric CA为网络拓扑生成加密材料?@edwardaa是的,为了证书和密钥的一致性和持久性,我们应该使用Fabric CA和其他系统(如LDAP)在产品中管理它们。