IBM WebSphere java.security.InvalidKeyException: Private Key cannot be used to encrypt

2 篇文章 0 订阅

处理WebSphere中RSA加密报错:(java.security.InvalidKeyException: Private Key cannot be used to encrypt.)私钥不能用于加密。

java.security.InvalidKeyException: Private Key cannot be used to encrypt.

at com.ibm.crypto.provider.RSACipher.a(Unknown Source)

at com.ibm.crypto.provider.RSACipher.engineInit(Unknown Source)

at javax.crypto.Cipher.a(Unknown Source)

at javax.crypto.Cipher.a(Unknown Source)

at javax.crypto.Cipher.init(Unknown Source)

at javax.crypto.Cipher.init(Unknown Source)

原因:WebSphere使用的是IBM JDK,-Dcom.ibm.crypto.provider.DoRSATypeChecking默认为true,私匙不能用于加密。

处理方法:

IBM JDK添加属性:

-Dcom.ibm.crypto.provider.DoRSATypeChecking=false

或者Websphere增加jvm配置

-Dcom.ibm.crypto.provider.DoRSATypeChecking=false

 

Websphere设置步骤:

1.登录WebSphere控制台

2.进入:服务器-服务器类型-WebSphere Application Server

 

3.点击应用程序服务器“server1”,进入“配置”页面

 

4.点击“服务器基础结构-Java 和进程管理-进程定义”,进入“应用程序服务器 > server1 > 进程定义”页面

 

 

5.点击“Java虚拟机”进入“应用程序服务器 > server1 > 进程定义 > Java 虚拟机”配置页面

 

6.在“通用 JVM 参数”中输入设置属性

-Dcom.ibm.crypto.provider.DoRSATypeChecking=false

 

7.点击“应用”按钮

 

8.注销控制台,选择“保存”按钮保存本次修改并退出控制台,完成WebShere的配置

 

9.重启应用

 

----------------------------------------------------------------------------------------------------------

处理WebSphere设置后不生效问题

查询websphere版本,如果是7.0.0.13,升级为7.0.0.33或其他版本,原因:7.0.0.13版本bug,设置环境变量(-Dcom.ibm.crypto.provider.DoRSATypeChecking=false)不生效

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值