Cannot read property 'curve' of undefined
at Object.KEYUTIL.getKey (/home/quolam-002/Documents/Hyperledger_Fabric proejct/fabric-samples/vytalconnect2/node_modules/fabric-client/node_modules/jsrsasign/lib/jsrsasign.js:247:10379)
at CryptoSuite_ECDSA_AES.getKey (/home/quolam-002/Documents/Hyperledger_Fabric proejct/fabric-samples/vytalconnect2/node_modules/fabric-client/lib/impl/CryptoSuite_ECDSA_AES.js:206:27)
答案 0 :(得分:1)
这是由于证书无效/过期所致。
您可以删除已经存在的证书。拆除网络,然后使用presents。例如fabcar的startfabric.sh脚本重新启动网络。
答案 1 :(得分:0)
答案 2 :(得分:0)
这是证书的问题,
如果您遵循织物样本(https://github.com/hyperledger/fabric-samples/tree/release-1.4/balance-transfer)的余额转移示例,则
首先删除fabric-client-kv- *文件夹
再次运行runApp.sh和testAPIs.sh脚本
其他
问题原因:-
客户端对象中的曲线关键点的值未定义
_cryptoSuite:
CryptoSuite_ECDSA_AES {
_keySize: 256,
_hashAlgo: 'SHA2',
_cryptoKeyStore:
CryptoKeyStore {
logger: [Object],
_store: null,
_storeConfig: [Object],
_getKeyStore: [Function] },
_curveName: 'secp256r1',
_ecdsaCurve:
PresetCurve {
curve: undefined,
g: <EC Point x: 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296 y: 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5>,
n: <BN: ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551>,
hash: [Object] },
_hashFunction: [Function],
_hashOutputSize: 32,
_ecdsa: ...
答案 3 :(得分:0)
1. look for the folder where enrolled user certificates are placed
2. delete that folder
3. Tear down the network (stop and remove all the running containers )
4. Again Register and enroll users in the network.
上面的故障排除步骤也解决了我的错误中的错误。
答案 4 :(得分:0)
此错误的原因是,一旦网络重新启动,您的ECDSA密钥可能会在一定时间后删除。如在balance-transfer
示例中通过API注册/注册时,在/artifacts/client-org1.yaml
中配置的加密存储路径被设置为/tmp/fabric-client-kv-org1
。您可以尝试将路径更新为/tmp
以外的路径,以便在重新启动后持续存在。这对我有用。
简单删除fabric-client-kv-*
目录在短期内可能有效,但从长远来看可能不适合,尤其是在生产环境中。