Hyperledger Fabric 文档指出我们可以为组织添加其他参数,即规格和 CA。该示例显示可以注释掉附加代码以提供值。
我正在尝试做的事情:
- 我需要在组织的 X509 证书中提供 Country、State、Locality 的自定义值。
- 我正在使用“cryptogen”工具生成证书。
以下是来自 crypto-config.yaml 文件的组织片段:
-&Org1 Name: Org1MSP ID: Org1MSP MSPDir: crypto-config/peerOrganizations/org1.example.com/msp CA: Hostname: ca Country: Westros Province: North Locality: Winterfell OrganizationalUnit: HouseStark StreetAddress: NorthernStreet PostalCode: 30000 Policies: Readers: Type: Signature Rule: "OR('Org1MSP.admin', 'Org1MSP.peer', 'Org1MSP.client')" Writers: Type: Signature Rule: "OR('Org1MSP.admin', 'Org1MSP.client')" Admins: Type: Signature Rule: "OR('Org1MSP.admin')" AnchorPeers: - Host: peer0.org1.example.com Port: 7051
我在生成证书时遇到的错误:
2019-01-09 13:44:50.557 IST [common/tools/configtxgen/localconfig] 加载-> PANI 003 将配置解组为结构时出错:3 个错误(s)解码:
- 'Organizations[1]' 的密钥无效:CA
- 'Profiles[TwoOrgsChannel].Application.Organizations[0]' 具有无效键:CA
- 'Profiles[TwoOrgsOrdererGenesis].Consortiums[SampleConsortium].Organizations[0]' 的键无效:CA
我试过的:
- 首先,我尝试了上述导致错误的配置。
- 我再次阅读了cryptogen工具的用法。我曾经
cryptogen showtemplate
检查用于生成证书的模板。它的格式与我的 crypto-config.yaml 文件类似。 - 保持配置简单,即没有 CA 详细信息,我启动了网络,进入 fabric-ca-server 容器并更新
fabric-ca-server-config.yaml
以提供 CA 的值。这导致了其他错误。我认为这是因为我使用 cryptogen 使用一些 X CA 配置生成了证书,并且在运行时我正在放置一些 Y CA 配置。
我有什么遗漏或做错了吗?