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-----
本文详细解析了在Java中遇到的java.security.spec.InvalidKeySpecException异常,特别是当尝试使用非PKCS8格式的RSA私钥时出现的问题。文章提供了具体的解决方案,即如何使用OpenSSL将PKCS1格式的私钥转换为PKCS8格式,从而避免此异常。



被折叠的 条评论
为什么被折叠?



