错误:无法导入身份。错误:未指定privateKey或不是字符串

时间:2018-10-16 08:43:25

标签: hyperledger-composer

我使用我之前要求的管理卡创建了网络,但是当我想将此卡导入卡中时将其存储错误:

Failed to import identity. Error: privateKey not specified or not a string

和导入失败。

我的操作是: 1.创建PeerAdmin卡:

作曲者卡片创建-p ./santai/byfn-network-test.json -u PeerAdmin -c ./santai/Admin@santai.chembeango.com-cert.pem -k ./santai/689f471246b0e180384660285aff48dcc5e12b9fd6bed4e5a47cce7ce367310f_sk r ChannelAdmin -f PeerAdmin@chembeango-network-test.card

  1. 将PeerAdmin卡导入到卡存储中:

    composer卡导入-f PeerAdmin@chembeango-network-test.card --card PeerAdmin @ chembeango-network-test

  2. 身份请求:

提交者身份请求-c PeerAdmin @ chembeango-network-test -u测试-s t789456 -d测试

  1. 启动网络

作曲者网络开始-c PeerAdmin @ chembeango-network-test -n chembeango-test-network -V 0.0.1 -o endorsementPolicyFile =。/ endorsement-policy.json -A测试-C test / test-pub.pem

  1. 导入管理卡

    作曲者卡导入-f test@chembeango-test-network.card

我检查了我的私人pem,它是:

-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGPwysYDw6+TLcgiv
QOHt7vhm3j5A9muqwmIKutoxdhGhRANCAASDNP95hp3tpLda5qGD2LTSfpjD4x4t
mqYlov5eIQhG1Nq7BXdn0fJYtpPB5T5odaoheUU0xDcC4BXAmqb9LYif
-----END PRIVATE KEY-----

我已将我的名片保存到一个zip文件中,并将其解压缩,其结构为:

 extracting: connection.json
 extracting: metadata.json
   creating: credentials/
 extracting: credentials/certificate

我没有找到私钥,这是问题吗?

2 个答案:

答案 0 :(得分:0)

您是正确的,为您自动创建的卡不包含私钥!

您需要删除自动生成的卡,并自己创建一个包含证书和密钥的新卡。因此,您将需要2条与它们类似的命令-我建议使用'test2',以免造成混淆:

composer card create -p ./santai/byfn-network-test.json -u test -c test/test-pub.pem -k test/test-priv.pem -f test2.card -n chembeango-test-network

composer card import -f test2.card -c test2@chembeango

(如果您在composer network start命令上指定了用户名和密码,则自动生成的卡可以在单个组织环境中正常工作,但是如果您先请求身份,然后在start命令上使用证书,则结果卡将不包含私钥)

答案 1 :(得分:0)

我解决了这个问题。 我的手术是:

  1. 将测试priv pem添加到credentials文件夹
  2. 将其重命名为PrivateKey
  3. 我将这些文件压缩为zip文件。
  4. 将此压缩文件重命名为card
  5. 将卡导入卡存储。可行!