Java 加载RSA私钥pkcs8和pkcs1的问题

问题描述:

在使用Java原生API进行RSA私钥加载的时候,报错如下:

java.security.InvalidKeyException: IOException : algid parse error, not a sequence

原因分析:

通常JAVA中使用的RSA私钥格式必须为PKCS8格式,而我使用的私钥是PKCS1格式。

解决方案一,格式转换:

1,使用openssl进行格式转换,嫌麻烦我没有采用。

2,使用BouncyCastle 提供的api进行转换,详见这位老哥的博客,地址

3,使用在线工具转换(推荐),点击进入

解决方案二,使用BouncyCastle

1,如果是使用Gladle构建,那么添加BouncyCastle的依赖。

implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.65'

注意,版本不要太高了,高版本需要jdk11或者更高版本jdk的支持。

2,下载jar包进行第三方库的使用,下载页面

3,可以使用BouncyCastle提供的API进行PKCS1格式私钥的加载

    //私钥解密
    public static byte[] privateDecryptByBouncyCastle(byte[] content, 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值