java.security.InvalidKeyException: IOException : algid parse error, not a sequence问题处理
项目中使用PKCS8进行加密签名报错
错误原因 :传入的私钥串privateKey格式不是PKC8格式,其中错误的privateKey是通过openssl生成的私钥,将文件中去掉私钥头(-----BEGIN RSA PRIVATE KEY-----)和私钥尾(-----END RSA PRIVATE KEY-----)得到
注:
符合格式要求的私钥文件是以-----BEGIN PRIVATE KEY-----开头
不符合格式要求的私钥文件是以-----BEGIN RSA PRIVATE KEY-----开头
查阅资料说的是由于用的秘钥生成的是PKCS1的,转换成PKCS8的才行
- 把秘钥文件丢到服务器
- 然后通过命令转换
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
- 然后拷贝中间那段秘钥下来使用就可以了。
查阅的资料以下:
https://www.jianshu.com/p/aa6ff3ce49b5
https://blog.csdn.net/min19900718/article/details/92803863