RSA premaster secret error问题分析和解决

问题描述

java 在 打包,利用 java -Xmx1g -Djava.ext.dirs=lib2 Runner xx运行。
报错:RSA premaster secret error
测试没有问题,本地可以运行且结果正确; 服务器可以运行,但结果不正确,报上述错误。

问题分析

java -cp xx.jar yy 可以运行。
java -Djava.ext.dirs则不可以运行。

应该是环境问题,涉及问题:java -Djava.ext.dirs 加载Lib后,%JAVA_HOME%\jre\lib\ext 下面的jar包就不会加载啦。
经过查询,涉及sunjce_provider.jar。

解决方法1

找到sunjce,拷贝到lib里,然后运行解决。

echo $JAVA_HOME  
> find $JAVA_HOME -iname "*sunjce*jar"   # find sunjce
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/sunjce_provider.jar

把这个拷贝到lib里即可。

解决方法2

其实就是要加载 ext下面的jar包才行,否则容易出问题。
例如:java -Djava.ext.dirs=lib:$JAVA_HOME/jre/lib/ext -jar build/MyAppJar.jar

总结

  1. cp利用当前jar包和jre里的lib/ext目录的jar包,-D不会。
  2. 如果需要则拷贝过去jar

引用参考

https://stackoverflow.com/questions/21390157/rsa-premaster-secret-error

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值