Search code examples
hyperledger-fabrichyperledgerhyperledger-fabric-ca

Fabric-common: TypeError: cryptoSuite.createKeyFromRaw is not a function


I am trying to sign transaction proposals with offline key. I have generated signed certificate by Org CA and now I am trying to create User with fabric-common nodejs SDK version 2.2.5.

const user = User.createUser("test4", "ZmznsNgPIzyB", "Org1", 
 `'-----BEGIN CERTIFICATE-----
MIICGDCCAb+gAwIBAgIQEy8q527U5HoQwz0H3l9tGzAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMS5leGFtcGxlLmNvbTAeFw0yMTAzMTYwODM2MDBaFw0zMTAzMTQwODM2MDBa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZBZG1pbkBvcmcxLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELUpEXmri2P4OYMGbavN8TTHGUVLKF/64
miIg+YnGimOYYJ/plDQKv67oM3Pj+E8ZyGXd4W5w+5sQ6b89oW0g5aNNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAgNQ4fnedP5BEM
rbdrH5terpge4kkQ48+cAo1lvmSivPMwCgYIKoZIzj0EAwIDRwAwRAIgejQW29Yz
N7wzJoaW+JslTWxl0iGbfNSBdesqlNgHEC0CICHA22NYoIs2HfKg32aUE9X979Wa
vBalq/MwTug1c9O+
-----END CERTIFICATE-----'`)

However I am getting error TypeError: cryptoSuite.createKeyFromRaw is not a function and when I inspect the cryptoSuite object this function in fact does not exists.

I am following this tutorial: https://hyperledger.github.io/fabric-sdk-node/release-2.2/tutorial-sign-transaction-offline.html

Is this correct way of user creation?


Solution

  • So the problem was that I was using node v12.6.0 which is required by fabric-common module. When I downgraded node version to v11.6.0 and installed dependencies with flag --ignore-engines everything worked as expected.