openssl加密报错unable to load Private Key 1:error:0909006C:PEM routines:get_name:no start line:../../dist/crypto/pem/pem_lib.c:745:Expecting: ANY PRIVATE KEY pkeyutl: Error initializing context
时间: 2023-12-19 17:08:01 浏览: 727
这个错误通常是由于 OpenSSL 无法正确加载私钥文件导致的。确保您提供给pkeyutl`令的 `-inkey`引用了正确的钥文件,并且该文件格式正确。
您可以试使用以下命令来验证您的私钥文件是否存在语法错误:
```
openssl ec -in ecc_private_key.pem -text -noout
```
如果私钥文件存在语法错误,则会显示类似于以下内容的错误消息:
```
unable to load key
140735207794048:error:0D0680A8:asn1 encoding routines:asn1_check_tlen:wrong tag:../../crypto/asn1/tasn_dec.c:1315:
140735207794048:error:0D07803A:asn1 encoding routines:asn1_item_embed_d2i:nested asn1 error:../../crypto/asn1/tasn_dec.c:385:Type=EC_PRIVATEKEY
140735207794048:error:0D09A00D:asn1 encoding routines:d2i_PrivateKey:ASN1 lib:../../crypto/asn1/ameth_lib.c:116:
```
如果您收到类似的错误消息,请检查私钥文件中是否有任何非 ASCII 字符或空行,并确保文件以正确的格式存储。例如,如果您使用 PEM 格式存储私钥,则应该在文件的开头和结尾处分别包含 `-----BEGIN PRIVATE KEY-----` 和 `-----END PRIVATE KEY-----` 字段。
如果您无法解决此错误,请尝试重新生成私钥文件并重试加密操作。
阅读全文