Caused by: java.lang.RuntimeException :HMAC-SHA1 not supported

本次问题解决花费了一天时间,问题描述如下:

因项目使用了阿里云短信功能,涉及到的三方包有:sdk-core-3.3.1.jar、aliyun-java-sdk-dysmsapi-1.0.0.jar

项目使用jetty启动,在本地调用一直没有问题,故已经排除代码问题,但在centos7上启动服务器后访问接口一直报错:RuntimeException("HMAC-SHA1 not supported.")


首先说明下,使用tomcat形式启动应用,调用接口无任何问题,所以怀疑是jetty启动是加载的jre不对

经常不断排查且查询资料,定位到最后的加密算法走的是/usr/local/java/jre/lib/ext/sunjce_provider.jar  该文件,所以怀疑是程序进行加密计算时没有找到该jar,于是将该jar拷贝至项目的lib中,但问题依旧没有解决,

后来在/usr/local/java/jre/lib/security/java.security 文件中加入了以下代码(本项目采用jdk1.8):


重启服务器后问题得到解决,至于问题的原因还不是很清楚,只能说是加密算法的包没找到,找到之后也不支持该jre的算法提供

希望能帮助到大家(sunjce_provider.jar 和java.security 配置文件都需要做调整才能达到可以使用的目的

大家遇到此问题,建议换一台服务器或者更换jdk版本试试,首先确保程序没有问题,再来确定环境问题

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君哥聊编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值