原因:加载CA证书和建立gRPC连接的过程已经在newGrpcConnection函数中实现
解决:安装 CA 证书的根证书
Windows 系统
适用场景:如果应用最终运行在 Windows 服务器或开发环境是 Windows 系统,那么在 Windows 系统上安装根证书是合理的选择。例如,在企业内部使用的一些基于 Windows 的服务器上部署 Go Gin 应用来与 Fabric 网络交互时,就需要在 Windows 系统中安装相关证书。
安装步骤回顾:
找到 Fabric 网络配置中 CA 证书的位置,通常在类似test-network\organization\peerOrganization\org1.example.com\peers\peer0.org1.example.com\tls目录下(具体路径取决于 Fabric 网络配置),证书文件一般为.crt格式,如ca.org1.example.com.crt。
打开 “运行” 对话框(Win+R),输入 “certmgr.msc” 打开证书管理器。
在证书管理器中,找到 “受信任的根证书颁发机构” 文件夹,右键点击并选择 “所有任务”->“导入”。
按照证书导入向导提示,浏览选择找到的 CA 证书文件,将其存储在 “受信任的根证书颁发机构” 存储区,完成导入。
Ubuntu 系统(Linux 系统为例)
适用场景:很多 Fabric 网络的开发和生产环境基于 Linux 系统,Ubuntu 是常用的 Linux 发行版之一。如果应用部署在 Ubuntu 服务器上,或者开发环境是 Ubuntu 系统,那么就在 Ubuntu 系统中安装根证书。例如,在云计算环境中使用 Ubuntu 服务器来运行 Go Gin 应用与 Fabric 网络交互时,需要在 Ubuntu 系统中配置证书。
安装步骤回顾
根据 Fabric 网络配置确定 CA 证书文件路径,例如/home/user/fabric-samples/test-network/organization/peerOrganization/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt(路径可能因实际部署而异)。
将证书文件复制到系统的证书存储目录,通常为/usr/local/share/ca-certificates/,使用命令:sudo cp /home/user/fabric-samples/test-network/organization/peerOrganization/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt /usr/local/share/ca-certificates/。
运行命令:sudo update-ca-certificates来更新证书库,使系统信任该根证书。
选择考虑因素
现有基础设施:如果企业或项目中已经有成熟的 Windows 服务器基础设施,并且相关的管理和运维流程都基于 Windows 系统,那么在 Windows 系统上安装证书可能更便于管理和维护。相反,如果 Fabric 网络本身运行在 Linux 服务器集群上,且开发团队更熟悉 Linux 环境,那么在 Ubuntu 或其他 Linux 系统上安装证书可能更合适。