建议使用什么openssl命令来生成与Hyperledger结构兼容的EC密钥和CSR?

建议使用什么openssl命令来生成与Hyperledger结构兼容的EC密钥和CSR?,openssl,cryptography,hyperledger-fabric,Openssl,Cryptography,Hyperledger Fabric,我们使用openssl生成CSR(证书签名请求),如下所示 步骤1:生成ECPARAM.pem文件 openssl-genpkey-genparam-算法ec-pkeyopt-ec_-paramgen_曲线:p-384-out-ECPARAM.pem 步骤2:生成私钥和CSR: openssl请求-newkey ec:ECPARAM.pem-keyout PRIVATEKEY.key-out MYCSR.csr 新的对等证书由上述CSR的相应CA颁发和签署 当启动对等时,输出以下错误:

我们使用openssl生成CSR(证书签名请求),如下所示

  • 步骤1:生成ECPARAM.pem文件
openssl-genpkey-genparam-算法ec-pkeyopt-ec_-paramgen_曲线:p-384-out-ECPARAM.pem

  • 步骤2:生成私钥和CSR:
openssl请求-newkey ec:ECPARAM.pem-keyout PRIVATEKEY.key-out MYCSR.csr

新的对等证书由上述CSR的相应CA颁发和签署

当启动对等时,输出以下错误:

2020-11-22 22:28:14.635 UTC[main]InitCmd->ERRO 001无法运行peer,因为从/etc/hyperledger/fabric/MSP目录设置bccsp类型的MSP时出错:SigningIdentityInfo中找不到KeyMaterial

我想问题与openssl生成的EC密钥的格式有关? 下面是导致错误的私钥示例:

-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIBEzBOBgkqhkiG9w0BBQ0wQTApBgkqhkiG9w0BBQwwHAQIQtU4Ouojj6MCAggA
MAwGCCqGSIb3DQIJBQAwFAYIKoZIhvcNAwcECC+I/OCseSp1BIHAeSmeCRFHlKzO
Hw1RK5wQi8hSulmi4HZjMJC6rofFFwGqgbBCKo9dBbJXYYsYc1AukAKyo+w6W4a3
0BpTGNAP4/eVB0dsFm7oHpJiZ2jmvgsYTHtchCciCastVph7zOfyggobPfEO97cU
iwtq3v1R5yGA1ic/2vIqtSxynnGzrTiUnwnrvPC0hXMYiDHmYfN66BK898bfcaXp
MqnBFfOQSRAtVzN71hiBWjGjVm3Y4e/vDYse/GLsseDnPK9fw3XA
-----END ENCRYPTED PRIVATE KEY-----
与cryptogen
工具生成的密钥相比,它们具有不同的头行和长度:

-----BEGIN EC PRIVATE KEY-----
MIGkAgEBBDBXq+IIvjEQITYhxIui0ivOY/eVH1Ql8R5wXowiPSdLwZbsIrk6LHjw
jB8D9oqOW4agBwYFK4EEACKhZANiAASNt3bW+GicurJPRaj+oaY/xjaD9Mf/ic4i
3fdgI7wQnvXnGLX0Lf5ygd5ZyyhPW2Tvj7FdOW4vzaqZqSHkaG37GaP6JxpmR3/l
HuF+tncpsjUY7SXTCfzIysxvod9gN9g=
-----END EC PRIVATE KEY-----


有任何修复此问题的建议吗?

结构不支持加密密钥。使用openssl生成私钥时,您应该能够传递
-nocrypt
选项以生成未加密密钥,或者您可以将加密密钥转换为未加密密钥:


openssl ec-in-PRIVATEKEY.key-out PK_unecryppted.pem

为什么在这里使用-1?