RSA解密报错java.security.spec.InvalidKeySpecException的解决办法
2018-06-11 18:42阅读:
java.security.spec.InvalidKeySpecException:
java.security.InvalidKeyException: IOException : algid parse error,
not a sequence
代码执行到这句话时抛出以上异常:Key privateK = keyFactory.generatePrivate(pkcs8KeySpec);
问题的原因是:rsa私钥的格式不是pksc8格式
解决方案:使用以下命令转换一下:openssl pkcs8 -topk8 -inform PEM -in private.key -outform pem -nocrypt -out pkcs8.pem(意思是把pkcs1格式转为pkcs8格式)
PKCS1的文件头格式 -----BEGIN RSA PRIVATE KEY-----
PKCS8的文件头格式 -----BEGIN PRIVATE
KEY-----
代码执行到这句话时抛出以上异常:Key privateK = keyFactory.generatePrivate(pkcs8KeySpec);
问题的原因是:rsa私钥的格式不是pksc8格式
解决方案:使用以下命令转换一下:openssl pkcs8 -topk8 -inform PEM -in private.key -outform pem -nocrypt -out pkcs8.pem(意思是把pkcs1格式转为pkcs8格式)
PKCS1的文件头格式
PKCS8的文件头格式
