因需要,需要将线上服务进行迁移,迁移到新的服务一段时间后,忽然的一天,说企业微信登录不好使了。
查日志,发现是AES解密失败。
找个jdk目录下的/jre/lib/security,替换成长度的local_policy.jar和US_export_policy.jar对应JDK的版本
由于打印日志把一些日志给吃了,具体的日志
异常java.security.InvalidKeyException:illegal Key Size。也就是美国对加密解密等软件进行了出口限制,JDK中默认加密的密钥长度较短,加密强度较低,而UnlimitedJCEPolicyJDK7中的文件则没有这样的限制,因此为了获得更好的加密强度,需要替换掉那两个文件。
具体企业微信的链接:https://work.weixin.qq.com/api/doc#90001/90145/90446
异常java.security.InvalidKeyException:illegal Key Size的解决方案:在官方网站下载JCE无限制权限策略文件(请到官网下载对应的版本, 例如JDK7的下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html ):下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt。
如果安装了JRE,将两个jar文件放到%JRE_HOME% \lib\security目录下覆盖原来的文件,如果安装了JDK,将两个jar文件放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件。