Hyperledger Fabric Documentation指出,我们可以为组织添加额外的参数,即Specs和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) 解码:
- "组织[1]"具有无效密钥:CA
- "Profiles[TwoOrgsChannel].Application.Organizations[0]"具有无效密钥:CA
- "Profiles[TwoOrgsOrderGenesis].Consortiums[SampleConsortium].Organizations[0]"具有无效密钥:CA
我尝试过的:
- 首先,我尝试了上面的配置,结果出现了错误
- 我再次阅读了cryptogen工具的用法。我曾经使用
cryptogen showtemplate
来检查用于生成证书的模板。它的格式与我的crypto-config.yaml文件类似 - 为了保持配置简单,即没有CA详细信息,我启动了网络,进入结构CA服务器容器,并更新了
fabric-ca-server-config.yaml
以提供CA的值。这导致了其他错误。我认为这是因为我使用cryptogen使用一些X CA配置生成了证书,并且在运行时我使用了一些Y CA配置
是我遗漏了什么还是做错了什么?
我重新安装了结构1.4的二进制文件,并在cryptoconfig.yaml中定义了以下内容:
# Setting up orderer of the network
OrdererOrgs:
- Name: Orderer
Domain: example.com
CA:
Country: IN
Province: Karnataka
Locality: Bengaluru
Specs:
- Hostname: orderer
# Setting up peer orgs of the network
PeerOrgs:
- Name: Org1
Domain: org1.example.com
EnableNodeOUs: true
CA:
Country: IN
Province: Karnataka
Locality: Bengaluru
# Template count is the number of peer nodes for this organization
Template:
Count: 2
Users:
Count: 1
我为CSR使用的SubjectDN提供了错误的值。